♠️
RACE Protocol
NFT PresaleDiscord
  • ❤️Official Docs & Links
  • ⏳Progress Overview
  • RACE Protocol
    • 🏗️System Architecture
      • Components
      • On-chain Accounts
      • Synchronization
      • Randomization
      • Payment
    • 🎲Game Development
      • Game Handler
      • Effect
      • Event Handling
      • Race API
        • Arweave Integration
      • Race JS SDK
        • Installation and Setup
        • Key Components
          • AppClient
          • SubClient
          • Events
          • Game Context
          • Decryption Cache
        • Advanced Features
          • Getting Revealed Knowledge
          • Exiting and Detaching
          • Submitting Messages
          • Sub-game Interaction
        • Best Practices
        • API Reference
        • Troubleshooting
    • 🧪Testing
      • Race Test Kit
      • Unit Testing
      • Integration Testing
      • Additional Considerations
    • 🧱Modules & Features
      • Encryption Methods
      • Command-line Tools
      • Configuration Options
      • Blockchain Transport Implementations
    • 📃Smart Contract
      • Solana Program
    • 🔦Examples and Use Cases
      • Draw Card Game
      • Raffle Game
      • Other Examples
  • RACE Games
    • ♠️RACE Poker app
      • 🎮Start playing in minutes
        • 💰Cash and sit-n-go
        • 🏆Tournaments
      • 🎨Workshop
        • 🏆Create cash games
        • 🏨Create tourneys
      • 💡Concept introduction
      • 🏗️System architecture
      • 👾Game Flow
      • 🎲Cards shuffling
      • ☎️Communication
      • 🔐Key sharing/decryption
      • 💱Cash flow structure
    • ⚡Solfast
      • 🎲Game modes
  • RACE RESEARCH
    • 👾No-Code Development
      • Brainstorming
      • Implementation Approach
      • Project Status
    • 0️⃣Zero-Knowledge Proofs
      • Brainstorming
      • Integration steps
        • Verifiable Randomness Generation
        • Private Game State Updates
        • Verifiable Settlements
        • Private Player Actions
      • Project Status
    • 🛡️Security Audit Report
      • Executive summary
        • Introduction to Race Protocol
        • Audit Methodology
      • Findings
        • Smart Contract Security
        • WebAssembly Security
        • Client-side Security (Race SDK)
        • Server-side Security
        • Randomization and Encryption
        • On-chain Account Management
        • Synchronization Mechanisms
        • Payment Handling
      • Recommendations
      • Conclusion
  • RACE DAO
    • 😎About
    • 🫂Community
    • 🖼️NFT Collection [!]
Powered by GitBook
On this page
  • Securing Communication
  • Protecting Hidden Knowledge
  1. RACE Protocol
  2. Modules & Features

Encryption Methods

The race-encryptor module is responsible for securing communication and protecting hidden knowledge within Race Protocol games. It utilizes a combination of cryptographic algorithms to achieve these goals:

  • ChaCha20: This symmetric stream cipher is used to encrypt game state data and custom game events. ChaCha20 is a modern and efficient algorithm that provides strong encryption while maintaining good performance.

  • RSA: This asymmetric encryption algorithm is used to encrypt secret keys and other sensitive information that needs to be shared selectively between participants. RSA allows for secure communication between the Transactor and individual players or validators without revealing the information to others.

  • SHA-1 and SHA-256: These cryptographic hash functions are used for various purposes within the protocol, such as generating unique identifiers for transactions and verifying the integrity of data.

Securing Communication

The race-encryptor module ensures secure communication between different components in Race Protocol:

  • Client-Transactor Communication: When a client connects to the Transactor, it shares its public key. The Transactor uses this public key to encrypt any sensitive information, such as secret keys or private game state updates, before sending them to the client. The client can then decrypt the information using its private key.

  • Transactor-Validator Communication: Similar to client communication, the Transactor uses RSA to encrypt sensitive information before sharing it with validator servers. This ensures that only authorized participants can access the information.

Protecting Hidden Knowledge

In games with asymmetric information, it's crucial to protect hidden knowledge from unauthorized access. The race-encryptor module uses ChaCha20 to encrypt game state data and custom game events, ensuring that this information remains hidden until the game handler decides to reveal it. This prevents players from gaining an unfair advantage by prematurely accessing sensitive information.

By employing these encryption methods, Race Protocol guarantees the confidentiality and integrity of game data and communication, fostering a secure and fair gaming environment for all participants.

PreviousModules & FeaturesNextCommand-line Tools

Last updated 1 year ago

🧱