decrypt101
SocialOpen ProjectsSupport me My Resumes
  • Preface
    • Motivation
    • Roadmap’s
  • Introduction to Blockchain
    • A Brief History
    • Growth of Blockchain
    • Structure of Blockchain
    • Types of Blockchain
    • Key Technologies of Blockchain
    • Features of Blockchain
    • How Blockchain Works ?
    • Implementation of Blockchain
    • Summary
  • Components of Blockchain Architecture
    • Distributed Ledger
    • Blocks
    • Transaction
    • Chain
    • Peer-to-Peer Network
    • Blockchain Layers
    • Off-Chain & On-Chain
    • Wallet
    • Mining
    • Tokens
    • Assets
    • State Channels
    • Sidechains
    • Oracles on Blockchain
    • Atomic Swaps
    • Decentralized Identity (DID)
    • Blockchain Data Storage
    • Interoperability
    • Data structures for Scaling Blockchain
    • Maximal Extractable Value (MEV)
  • Consensus Mechanisms
    • Proof of Work (PoW)
      • Implemation Using Rust
    • Proof of Stake (PoS)
    • Proof of Burn (PoB)
    • Proof of Capacity (PoC)
    • Proof of Activity (PoAc)
    • Proof of Weight (PoWe)
    • Proof of Luck (PoL)
    • Proof of Ownership (PoO)
    • Proof of Existence (PoE)
    • Proof of Believability (PoBe)
    • Proof of History (PoH)
    • Proof of Authority (PoA)
    • Proof of Elapsed Time (PoET)
  • Cryptographics
    • Encryption & Decryption
      • Symmetric Encryption
      • Asymmetric Encryption
      • Key Management and Exchange
      • Implementation
    • Cryptographic Hashing
      • Secure Hash Algorithms (SHA)
      • Message Digest Algorithms
      • Ethash
      • Blake2
      • SCrypt
      • RIPEMD-160
    • Digital Signature
      • Digital Signature Algorithms
      • Digital Signature in Blockchain
    • Zero-Knowledge Proofs (ZKPs)
      • Types of Zero-Knowledge Proof and Protocols
      • A Case Study of Polygon Platform
    • Multi-Party Computation (MPC)
    • Cryptanalysis
    • Practical Implementation
  • Decentralized Application (DApp)
    • Design and UX in Web3
  • Smart Contract
    • Development Tools
    • Solidity
    • Testing Smart Contract
    • Developing Smart Contract
    • Interacting & Deploying with Smart Contract
    • Verifying Smart Contracts
    • Upgrading Smart Contracts
    • Securing Smart Contract
    • Smart Contract Composability
    • Testnet and Mainnet
    • Blockchain Platform Using Smart Contract
    • Application of Smart Contract
    • Practical Implementation
  • Blockchain Platforms
    • Ethereum
      • Ethereum Virtual Machine (EVM)
      • ETHER and GAS
      • Ethereum transaction
      • Ethereum Accounts
      • Ethereum Stacking
      • Ethereum Network
      • Ethereum Scaling Solutions
      • Ethereum Use-Cases
      • Getting Started with Ethereum
      • Ethereum Ecosystem and Support
    • Solana
      • Solana Architecture
        • Solana Account Model
        • Solana Wallet
        • Transactions and Instructions
        • Solana Programs
        • Program Derived Address (PDA)
        • Cross Program Invocation (CPI)
        • Tokens on Solana
        • Clusters and Public RPC Endpoints
        • Transaction Confirmation & Expiration
        • Retrying Transactions
        • Versioned Transactions
        • Address Lookup Tables
        • State Compression
        • Actions and Blinks
      • Solana Developments
      • Solana Client
      • Advanced Solana
      • Solana Scaling and Performance Architecture
      • Solana Solutions and cases
      • Practical Implemenation
    • Binance Smart Chain (BSC)
      • Create a BEP20 Token
    • Hyperledger Fabric
    • Cosmos
    • Polkadot
    • Quorum
    • Polygon
    • Algorand
    • Corda
    • Avalanche
    • TRON
    • Summary
  • Decentralized Finance (DeFi)
    • DeFi Components
    • DeFi Protocols
    • DeFi Platforms
    • DeFi Risk Classification
      • Infrastructure-layer Attacks
      • Smart Contract Layer-attacks
      • Application Layer-attacks
      • DeFi Risks
    • DeFi and Blockchain
    • DeFi Impact
  • Decentralized Ecosystem and Digital Innovation
    • Layer 2 Scaling Fundamental
    • Tokenomics
    • Cryptocurrency
    • Quantative Trading
    • NFTs
    • GameFi
    • Metaverse
  • Blockchain as a Service (BaaS)
    • Building Fullstack Blockchain Platform
    • Decentralized Digital Identity
    • Build a Cryptocurrencies Exchange
    • Play-to-Earn Gaming
    • Solana Token Airdrop Manager
    • Smart Contract Development on Solana with Rust
    • Quantitative Trading Platform
    • Insurances protocols
    • Flash Loans
    • Asset Management
    • Tokenized Derivatives
    • Automated Market Makers (AMMs)
    • Staking
    • Lending and Borrowing Platforms
    • Yield Farming
    • Stablecoin System
    • Security Token Offerings (STOs)
    • Initial Coin Offerings (ICOs)
    • On-Chain Voting Systems
    • Decentralized Autonomous Organizations (DAOs)
    • NFT Marketplaces
    • Provenance Verification
    • Supply Chain Tracking
    • Commodities Tokenization
    • Real Estate Tokenization
    • Digital Certificates
    • KYC (Know Your Customer)
  • Blockchain Development Across Languages
    • Blockchain using Go(Golang)
    • Blockchain using Rust
    • Blockchain using Python
    • Blockchain using Cairo
  • Distributed Systems & Infrastructure Technology
    • Classification of Distributed Systems
    • Networked systems versus Distributed systems
    • Parallel systems vs Distributed systems
    • Distributed versus Decentralized systems
    • Processes of Distributed Systems
    • Architecture of Distributed systems
    • Infrastructure Technologies
  • Distributed System Patterns
    • Distributed Agreements Algorithms
      • HoneyBadgerBFT
    • Data Replications
    • Data Partition
    • Consistency
    • Distributed Time
    • Cluster Management
    • Communication between Nodes
    • Fault Tolerance and Resilience
      • How to design better fault tolerance systems
      • Resilience Patterns
    • Coordination systems
      • Clock synchronization
    • Security
      • Trust in distributed systems
      • Design of Principal Security
      • Security threats, policies, and mechanisms
      • Authentication and Authorizations
      • Cryptography
      • Monitoring in Security
  • Distributed System Design
    • Page 1
    • Distributed Shared Memory
    • Distributed Data Management
    • Distributed Knowledge Management
    • Distributed Ledger
  • FAQs
  • Support and Community
Powered by GitBook
On this page
  • RSA (Rivest–Shamir–Adleman) Algorithm
  • Elliptic Curve Cryptography (ECC)
  1. Cryptographics
  2. Encryption & Decryption

Asymmetric Encryption

As discussed earlier , the public-key cryptography has two keys. This mecha- nism is known as the asymmetric encryption technique. Figure. 1.1 shows the plain text encrypted by two different keys, such as public key and secret or private key. The public keys are excessive to the Internet. It verifies that the unauthenticated user is not able to access the keys. Those who have a public key can easily decrypt the message. Due to this reason, this approach uses two related keys that enhance the security. The data encrypted by the public key, which is freely available, is only decrypted using the private key. In the same way, the data encrypted by a private key is only decrypted using the public key. The Rivest–Shamir–Adleman (RSA) and Elliptic curve techniques (ECC) are famous asymmetric key encryption algorithms. We will discuss these algorithms in detail.

RSA (Rivest–Shamir–Adleman) Algorithm

There is the belief that there is no efficient technique to factor a huge number. RSA algorithm reduces the key and requires more computer processing power and time. The RSA algorithm uses four steps: key generation, distribution, encryption, and decryption. A general prin- ciple behind the RSA algorithm is monitoring three huge positive integers: p, q, and r. (ap)q ≡ a(modb)

In the equation mentioned above, once you have the value of a,p, and b, it is still challenging to identify the value of q. (aq)p ≡a(modb)

For some operations, it is the same as changing the value of p and q, respectively. In general, the information encrypted by the public key is only decrypted using the private key. In the above equation mentioned, the public key is depicted by b and p, whereas the private key is represented by q.

As mentioned earlier, RSA is a four-step process discussed as follows:

Key generation: The keys generated for the RSA algorithm includes the fol- lowing steps:

  • Select two discrete prime numbers such as x and y.

  • Calculate that numbers like b = xy, where b is the private- and public-key

    modulus.

  • Use Carmichael’s totient function (σ ) to determine σ (n).

  • Select integer p.

  • Stimulate q using q = p−1.

Key distribution: Here, we consider one example where Jay wants to send a message to Raj. Jay must be aware of Raj’s public key to encrypt the information using the RSA algorithm. In contrast, Raj has to utilize his private key to decrypt the information sent by Jay. Jay sends its public key (b, p) to Raj using a reliable and secure way.

Encryption: Once Raj gets Jay’s public key, he can transmit data D to Jay. ct ≡ ap(modb) where c is a ciphertext.

Decryption: In the same way, Jay recovers a from a to ct by utilizing his private key. ctq ≡ (ap)q ≡ a(modb)

Elliptic Curve Cryptography (ECC)

In asymmetric cryptography, ECC is the alter- nate method of RSA that is used to encrypt a message so that the malicious user can ot access it. It uses elliptic curves on finite fields that make it more secure than crack. ECC’s 256-bit key generated security same as RSA 3072-bit key. When a longer key is used in RSA, making the process slow, ECC mitigates this issue by providing a smaller key size and security. The ECC technique is divided into two parts, such as ECDSA algorithm that is used to sign messages and the Elliptic Curve Diffie–Hellman key exchange (ECDH) that is used to share symmetric keys for the encryption . Generally, blockchain uses the ECDSA technique for the signature that we had already discussed in the previous Sect. As ECC follows the elliptic curve, it uses the following equations: Y2=X3+mX+n

where ‘m’ is the co-efficient of X and ‘n’ is the equation’s constant. A plane curve over a finite field point satisfies the equation mentioned above, it can mirror any curve point over the X-axis, and the curve remains the same.

PreviousSymmetric EncryptionNextKey Management and Exchange

Last updated 8 months ago