Listing Thumbnail

    True Random Number Generator

     Info
    Sold by: Arbitrand 
    High-throughput, high-quality true random number generator
    Listing Thumbnail

    True Random Number Generator

     Info
    Sold by: Arbitrand 

    Overview

    Generate true random numbers from within your cloud deployment.

    True random numbers can help you generate secure encryption keys, run simulations without worrying about bias, and protect games and contests against cheaters.

    The instance is equipped with FPGA hardware that is responsible for generating random numbers. The Arbitrand TRNG is different than most hardware random number generators: our individual entropy sources generate numbers with nearly full entropy, and we combine the outputs of hundreds of entropy sources to create a high-throughput full-entropy bitstream for your use.

    The resulting bitstream passes the most stringent randomness tests available today: our qualification process involves testing over 100 TB of random numbers from many different FPGA devices with BigCrush from TestU01 and the PractRand test suite (up to 16 TB). This lets us ensure that our FPGA image will generate full entropy regardless of operating conditions.

    Most true random number generators use cryptographic post-processing in order to achieve full entropy. This can result in losses of entropy if keys are compromised or encryption protocols are broken. Like a quantum TRNG, the Arbitrand TRNG does not need cryptographic post-processing for quality, and does not use it.

    The AMI provides an open-source server that makes entropy available remotely using HTTP and HTTPS (if you provide certificates), and provides a high-throughput TCP protocol for heavy users. Entropy is available locally through Linux file descriptors.

    Highlights

    • High quality: passes the hardest tests run on over 100 TiB of random data
    • Fast: 4.5 Gbps per FPGA, up to 36 Gbps of true random numbers from one machine
    • Quantum ready: full entropy with no reliance on cryptographic post-processing

    Details

    Delivery method

    Delivery option
    64-bit (x86) Amazon Machine Image (AMI)

    Latest version

    Operating system
    AmazonLinux 5.10

    Typical total price

    This estimate is based on use of the seller's recommended configuration (f1.2xlarge) in the US East (N. Virginia) Region. View pricing details

    $11.65/hour

    Pricing

    True Random Number Generator

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time. Alternatively, you can pay upfront for a contract, which typically covering your anticipated usage for the contract duration. Any usage beyond contract will incur additional usage-based costs.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.

    Usage costs (3)

     Info
    Instance type
    Product cost/hour
    EC2 cost/hour
    Total/hour
    f1.2xlarge
    Recommended
    $10.00
    $1.65
    $11.65
    f1.4xlarge
    $20.00
    $3.30
    $23.30
    f1.16xlarge
    $50.00
    $13.20
    $63.20

    Additional AWS infrastructure costs

    Type
    Cost
    EBS General Purpose SSD (gp2) volumes
    $0.10/per GB/month of provisioned storage

    Vendor refund policy

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    Delivery details

    64-bit (x86) Amazon Machine Image (AMI)

    Amazon Machine Image (AMI)

    An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.

    Version release notes

    Hardware build: https://arbitrand.com/builds.html  Software build: https://gitlab.com/arbitrand/arbitrand-public  released at commit number f8cfab13cf8b94fcb25a89f74ea8f4543e89fd00

    Additional details

    Usage instructions

    Launch the instance and access the server with SSH with the username "ec2-user" and your SSH key to set up.

    Access random numbers by reading /dev/arbitrand[n] (for the nth FPGA)

    To run tests:

    • Use "./arbitrand_testu01 [test size]" to run TestU01. Test sizes are "small" (quick), "crush" (1 hour), and "big (4 hours). You can specify which FPGA is tested by adding a second argument.
    • Use "cat /dev/arbitrand[n] | practrand stdin" to test using practrand. Ctrl-C to cancel the test when you are done (uninterrupted, it will run for 8 days and crunch 32 TB of data).

    To set up the HTTP/TCP server:

    1. Choose the appropriate config JSON for your instance type, and rename it to "config.json" (the default is for f1.2xlarge, and only configures for one FPGA)
    2. (Optional) if you want HTTPS, issue HTTPS certificates for the server
    3. (Optional) edit the configuration file to change port numbers, enable/disable interfaces, and enter the path of HTTPS certificates
    4. Set AWS security rules to enable access to the random number service from your other servers. The default ports are 4900 (HTTP), 4901 (HTTPS), and 4902 (high-throughput TCP).
    5. Launch the server by running "./arbitrand-server" or "sudo systemctl start arbitrand-server"
    6. Configure the server to run on startup with "sudo systemctl enable arbitrand-server"

    The arbitrand-server service uses the binary and config JSON in /home/ec2-user and runs as ec2-user.

    To use the server:

    Send GET requests to [host}:4900/num to get a random number (ASCII encoded) from a range. Arguments:

    1. "floor" sets the floor (inclusive) for the range of random numbers.
    2. "limit" sets the limit (exclusive) on the range of random numbers.
    3. "base" sets the base to use (if not base 10). Acceptable values: 2-36. For example, to simulate a 6-sided die roll, send a GET request to: [host]:4900/num?floor=1&limit=7

    Send GET requests to [host]:4900/data to get raw random data. Arguments:

    1. "len" sets the length of data requested (default 64 bytes).
    2. "encoding" sets the requested encoding - you can choose either base64, hex, or raw binary (default is base64). For example, to get 32 bytes of random data encoded in hexadecimal, send a GET request to: [host]:4900/data?len=32&encoding=hex

    For more information and examples, refer to the documentation in the arbitrand-public/doc folder of our gitlab site.

    Support

    Vendor support

    Basic email support only support@arbitrand.com 

    AWS infrastructure support

    AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

    Similar products

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 AWS reviews
    No customer reviews yet
    Be the first to write a review for this product.