{"version":1,"pages":[{"id":"O37XJspU1zfCtSdiH1zE","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.1-1","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"Jqx4rSZqjUHCkTNBbIkt","title":"Installation","pathname":"/tfhe-rs/0.1-1/getting-started/installation","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"2mCdhSSyyaAWEjNWr4iH","title":"Quick Start","pathname":"/tfhe-rs/0.1-1/getting-started/quick_start","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"WgKDW7fov4xIzN36dAUO","title":"Supported Operations","pathname":"/tfhe-rs/0.1-1/getting-started/operations","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"oTTUOEy1sGToKccrvkCF","title":"Benchmarks","pathname":"/tfhe-rs/0.1-1/getting-started/benchmarks","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"B8vqLhLhQ6bdfmqGjkB9","title":"Security and Cryptography","pathname":"/tfhe-rs/0.1-1/getting-started/security_and_cryptography","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"D36UZ3HjjtHZkzWk5NMO","title":"Tutorial","pathname":"/tfhe-rs/0.1-1/boolean/tutorial","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"u80orclFM4QqTJF8JpLJ","title":"Operations","pathname":"/tfhe-rs/0.1-1/boolean/operations","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"hUYDbwuBYDBsVxiLz07N","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.1-1/boolean/parameters","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"SHLnkKX1fbX915CYzmbg","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.1-1/boolean/serialization","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"7hU7nxXMUpjD6s1Pa6Ik","title":"Tutorial","pathname":"/tfhe-rs/0.1-1/shortint/tutorial","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"nXtKMO1ux0R4RhyKLVmB","title":"Operations","pathname":"/tfhe-rs/0.1-1/shortint/operations","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"hejHc6z8DwxKmVImEw2f","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.1-1/shortint/parameters","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"bx6iOLy7MNUbxPu018VA","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.1-1/shortint/serialization","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"zQByr49jpqDKtxJ0zxuY","title":"Tutorial","pathname":"/tfhe-rs/0.1-1/c-api/tutorial","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"C API"}]},{"id":"SOcc9CxQ35Tu8rWS6wEC","title":"Tutorial","pathname":"/tfhe-rs/0.1-1/js-on-wasm-api/tutorial","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"JS on WASM API"}]},{"id":"8h0SsiB6yIobEaQjmKgC","title":"Quick Start","pathname":"/tfhe-rs/0.1-1/low-level-core-cryptography/presentation","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Low-Level Core Cryptography"}]},{"id":"WEyioJC1zW6y5mHtMZaL","title":"Tutorial","pathname":"/tfhe-rs/0.1-1/low-level-core-cryptography/tutorial","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Low-Level Core Cryptography"}]},{"id":"meRsIMT7WRaFn7Dlz22R","title":"Contributing","pathname":"/tfhe-rs/0.1-1/developers/contributing","siteSpaceId":"sitesp_yCZll","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"9YjXralng2FLzcg8P1md","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.2-2","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"zBGEyBFvriim8Bp6qSxb","title":"Installation","pathname":"/tfhe-rs/0.2-2/getting-started/installation","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"bMWvULqT1MWqqrNimQsa","title":"Quick Start","pathname":"/tfhe-rs/0.2-2/getting-started/quick_start","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"gJNgYpu93WEXSIskfUuY","title":"Supported Operations","pathname":"/tfhe-rs/0.2-2/getting-started/operations","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"uGcTPlkKhE07LVJ97O9D","title":"Benchmarks","pathname":"/tfhe-rs/0.2-2/getting-started/benchmarks","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"2vsiK7auTnm83wpXwPl2","title":"Security and Cryptography","pathname":"/tfhe-rs/0.2-2/getting-started/security_and_cryptography","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"EmgjpnRjiQVolZloJjCH","title":"Tutorial","pathname":"/tfhe-rs/0.2-2/high-level-api/tutorial","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"High Level API"}]},{"id":"huSx2Iw1sXQN7AyDhWwu","title":"Operations","pathname":"/tfhe-rs/0.2-2/high-level-api/operations","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"High Level API"}]},{"id":"24pdKhSB7WLxCjy9KesP","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.2-2/high-level-api/serialization","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"High Level API"}]},{"id":"phuF18nnUM5tvHFNz7F7","title":"Tutorial","pathname":"/tfhe-rs/0.2-2/boolean/tutorial","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"uznbY52Y9d1OYX3ESnHY","title":"Operations","pathname":"/tfhe-rs/0.2-2/boolean/operations","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"7gomj9z6URX7Z855bqPE","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.2-2/boolean/parameters","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"6Wc7wBiTubIHmaf2xDFH","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.2-2/boolean/serialization","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Boolean"}]},{"id":"8bsU5Ufu9prFZx52pJMN","title":"Tutorial","pathname":"/tfhe-rs/0.2-2/shortint/tutorial","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"fHwTAs83xlQKxmGpms6p","title":"Operations","pathname":"/tfhe-rs/0.2-2/shortint/operations","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"D5onLJXbraZ0a3LWL2zy","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.2-2/shortint/parameters","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"eASYyWnq9dszbAzHtPYD","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.2-2/shortint/serialization","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Shortint"}]},{"id":"nZG83XFoSn7nDBXKuLCJ","title":"Tutorial","pathname":"/tfhe-rs/0.2-2/integer/tutorial","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integer"}]},{"id":"e1ihsGFCsvIypAwmUIlR","title":"Operations","pathname":"/tfhe-rs/0.2-2/integer/operations","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integer"}]},{"id":"nIKIzFVSEiTv3Ay0NqZ9","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.2-2/integer/parameters","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integer"}]},{"id":"taiiRixEEMc1zKLPMkPY","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.2-2/integer/serialization","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integer"}]},{"id":"2scjpwWemY5sj5i18bXo","title":"High-Level API","pathname":"/tfhe-rs/0.2-2/c-api/high-level-api","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"C API"}]},{"id":"YxjjvtdPGpxvHR9Qg2Jz","title":"Shortint API","pathname":"/tfhe-rs/0.2-2/c-api/shortint-api","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"C API"}]},{"id":"QyUXvSeujVOLVrkqdQcH","title":"Tutorial","pathname":"/tfhe-rs/0.2-2/js-on-wasm-api/tutorial","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"JS on WASM API"}]},{"id":"xAfx7vvsTypa79DjCfG7","title":"Quick Start","pathname":"/tfhe-rs/0.2-2/low-level-core-cryptography/presentation","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Low-Level Core Cryptography"}]},{"id":"Gtz2yqiPZkCZDXGmV0cA","title":"Tutorial","pathname":"/tfhe-rs/0.2-2/low-level-core-cryptography/tutorial","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Low-Level Core Cryptography"}]},{"id":"y8IghsVZrHFiujSxkcl6","title":"Contributing","pathname":"/tfhe-rs/0.2-2/developers/contributing","siteSpaceId":"sitesp_C8WAG","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"z3raoqvSMjLkQVqCbK0Z","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.3-1","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"cUrwN2kro80FR3oMkVMv","title":"Installation","pathname":"/tfhe-rs/0.3-1/getting-started/installation","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"sJlOKGbLFhVVEABIJCB5","title":"Quick Start","pathname":"/tfhe-rs/0.3-1/getting-started/quick_start","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"nyCvwwHyMxjiMbEIeDcb","title":"Operations","pathname":"/tfhe-rs/0.3-1/getting-started/operations","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"A8vg7tMBpcSsbweX8Q9i","title":"Benchmarks","pathname":"/tfhe-rs/0.3-1/getting-started/benchmarks","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"8KbyhMMUtF95VfPNCosP","title":"Security and Cryptography","pathname":"/tfhe-rs/0.3-1/getting-started/security_and_cryptography","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"y0QyB1xH02BqLaD1OxVV","title":"Homomorphic Parity Bit","pathname":"/tfhe-rs/0.3-1/tutorials/parity_bit","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"NbF7kkMYPEWEqaVeZNXA","title":"Homomorphic Case Changing on Latin String","pathname":"/tfhe-rs/0.3-1/tutorials/latin_fhe_string","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"1UkkbV4dsbbBrnBcfJKD","title":"Configure Rust","pathname":"/tfhe-rs/0.3-1/how-to/rust_configuration","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"kmsMQg1nLLeXWEWDTwtb","title":"Serialize/Deserialize","pathname":"/tfhe-rs/0.3-1/how-to/serialization","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"AQvNfN1XGofUmQKb5P4X","title":"Compress Ciphertexts/Keys","pathname":"/tfhe-rs/0.3-1/how-to/compress","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"bhw4wzJBNtxtkiyooYEo","title":"Use Public Key Encryption","pathname":"/tfhe-rs/0.3-1/how-to/public_key","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"wBuFSOCKtfnf9OK2ZbkV","title":"Use Trivial Ciphertext","pathname":"/tfhe-rs/0.3-1/how-to/trivial_ciphertext","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"7EJjSUB4W9XpjAaViiYJ","title":"Use Parallelized PBS","pathname":"/tfhe-rs/0.3-1/how-to/parallelized_pbs","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"qc6XmImuIa4rHwwn4N1J","title":"Use the C API","pathname":"/tfhe-rs/0.3-1/how-to/c_api","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"Rjf3HuypcWZVo4uPO8h2","title":"Use the JS on WASM API","pathname":"/tfhe-rs/0.3-1/how-to/js_on_wasm_api","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"9z3UQIf7Wu06bwwsTEhi","title":"Quick Start","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/quick_start","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"e6phTOjlkEE64d5yRCk2","title":"Boolean","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/boolean","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"n9T73r2WyeLdSVEirPtJ","title":"Operations","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"7IPfzFfYQalFackGbGJN","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"sc7BWrRmPNx2O0c3jwHJ","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"EtqjhYMuu88NMYoQRiMe","title":"Shortint","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/shortint","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"0ISbgYTJyMAZvfcC4nkW","title":"Operations","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"5IyGcGBxpL5DQAFBu6G0","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"3hzMEo9832KijSudaqa6","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"3BqSEJ0CossTHkfZD5S2","title":"Integer","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/integer","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"cgWrAlrTVpX4y1FwisiF","title":"Operations","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"sGaNqnnmaaKU2MMHegi5","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"NqdnlDWBXydbXVuJqTcV","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.3-1/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"QF7j37GqTc1vmBFhSIRL","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.3-1/application-tutorials/sha256_bool","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"GYbJROAwMqwo2NC6QrY1","title":"Dark Market with Integer API","pathname":"/tfhe-rs/0.3-1/application-tutorials/dark_market","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"AKvpyyKXjdCOb71mgMbs","title":"Homomorphic Regular Expressions Integer API","pathname":"/tfhe-rs/0.3-1/application-tutorials/regex","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"sq8XeD6sPhmpzXOgFCGn","title":"Quick Start","pathname":"/tfhe-rs/0.3-1/crypto-core-api-advanced-users/presentation","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Crypto Core API [Advanced users]"}]},{"id":"EmtiTAknLQwHzZMmNYjB","title":"Tutorial","pathname":"/tfhe-rs/0.3-1/crypto-core-api-advanced-users/tutorial","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Crypto Core API [Advanced users]"}]},{"id":"NVeWKuhCcndE4ezf7SbC","title":"Contributing","pathname":"/tfhe-rs/0.3-1/developers/contributing","siteSpaceId":"sitesp_T5yuJ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"TuwLp62x8jBJpq9lfanp","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.4-1","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"497ksVr0bkMiSXfORDsM","title":"Installation","pathname":"/tfhe-rs/0.4-1/getting-started/installation","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"QXx9u58vcBFiOYrWT6GR","title":"Quick Start","pathname":"/tfhe-rs/0.4-1/getting-started/quick_start","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"6Gl0jyRvshlgupDwZjKI","title":"Types & Operations","pathname":"/tfhe-rs/0.4-1/getting-started/operations","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"etHHPnbtZmpSg5qNuwMk","title":"Benchmarks","pathname":"/tfhe-rs/0.4-1/getting-started/benchmarks","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"hfNaaS6zH5IE4dWT4Qer","title":"Security and Cryptography","pathname":"/tfhe-rs/0.4-1/getting-started/security_and_cryptography","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"F8ewznYaFVesUoNB2aVp","title":"Homomorphic Parity Bit","pathname":"/tfhe-rs/0.4-1/tutorials/parity_bit","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"8QTyqqCPjPorurazjOVb","title":"Homomorphic Case Changing on Ascii String","pathname":"/tfhe-rs/0.4-1/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"9zr072Ozt9liFcX2Vsvt","title":"Configure Rust","pathname":"/tfhe-rs/0.4-1/how-to/rust_configuration","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"20IQEgC8gpYYQwuggQhL","title":"Serialize/Deserialize","pathname":"/tfhe-rs/0.4-1/how-to/serialization","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"hyE07IqnCiyR9RMkh84g","title":"Migrate Data to Newer Versions of TFHE-rs","pathname":"/tfhe-rs/0.4-1/how-to/migrate_data","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"yJmdaZOlj0l8E9NWXSge","title":"Compress Ciphertexts/Keys","pathname":"/tfhe-rs/0.4-1/how-to/compress","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"D0D1UglQmTacW54FmWv5","title":"Use Public Key Encryption","pathname":"/tfhe-rs/0.4-1/how-to/public_key","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"B42OQeqR9SfQUAz1wOTm","title":"Use Trivial Ciphertext","pathname":"/tfhe-rs/0.4-1/how-to/trivial_ciphertext","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"jaZXKdrcTMj1zxV6UOQ8","title":"Generic Function Bounds","pathname":"/tfhe-rs/0.4-1/how-to/trait_bounds","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"uXrkKGBMDwEbjo1NiEgr","title":"Use Parallelized PBS","pathname":"/tfhe-rs/0.4-1/how-to/parallelized_pbs","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"i6jnXCjzoBjlx6Fab5ZX","title":"Use the C API","pathname":"/tfhe-rs/0.4-1/how-to/c_api","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"Mde70KIx9lVrNPjIrBTi","title":"Use the JS on WASM API","pathname":"/tfhe-rs/0.4-1/how-to/js_on_wasm_api","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"tjvXRJaApl8trI76wIch","title":"Quick Start","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/quick_start","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"3hAGnLiWtDsFxkcYs2oB","title":"Boolean","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/boolean","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"iCScOOgsitdYZuvdBm8U","title":"Operations","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"7eJcmdEtXHsPpaK40zTb","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"S0ZkAGqeb39iqzrF6F8L","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"8KEPMPg3GdElBt4IedhV","title":"Shortint","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/shortint","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"UY5CfqKwu5dAb3x4mV2v","title":"Operations","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"1Gp6CwWaSEMCsHvQUWeV","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"gAwd8nxrnGOFimjUiax3","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"HfcW1wgSGn1StDX78yNB","title":"Integer","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/integer","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"aD0j0AQQZJIHL3jMZfxE","title":"Operations","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"l9ygzxbHCsl2KUUdweFA","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"Zoc4G1MIZAVLP4EnZfmD","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.4-1/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"dmotZ2fOg4p3bdCupeo0","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.4-1/application-tutorials/sha256_bool","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"plFf8405my6DGpITh2iy","title":"Dark Market with Integer API","pathname":"/tfhe-rs/0.4-1/application-tutorials/dark_market","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"b0F8lHagPPuZoPUI3aXD","title":"Homomorphic Regular Expressions Integer API","pathname":"/tfhe-rs/0.4-1/application-tutorials/regex","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"kkUsbLbWKFHaEei9U5Vx","title":"Quick Start","pathname":"/tfhe-rs/0.4-1/crypto-core-api-advanced-users/presentation","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Crypto Core API [Advanced users]"}]},{"id":"aSMuT4UMwwSVFBNLDZFx","title":"Tutorial","pathname":"/tfhe-rs/0.4-1/crypto-core-api-advanced-users/tutorial","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Crypto Core API [Advanced users]"}]},{"id":"gJgaFfS7A5oJAvCsPApr","title":"Contributing","pathname":"/tfhe-rs/0.4-1/developers/contributing","siteSpaceId":"sitesp_wqFHo","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"yXZZVH04LaLDUPZelwDh","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.5-3","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"XgCIxNNk3YynPmQG91cr","title":"Installation","pathname":"/tfhe-rs/0.5-3/getting-started/installation","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"40q1itBzEZadNixZplAw","title":"Quick Start","pathname":"/tfhe-rs/0.5-3/getting-started/quick_start","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"w0UM6OF3uooDnLowilL6","title":"Types & Operations","pathname":"/tfhe-rs/0.5-3/getting-started/operations","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"H6iom4PR5UZ7etRYdBag","title":"Benchmarks","pathname":"/tfhe-rs/0.5-3/getting-started/benchmarks","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"XdOqdfHYP7xO3bZjJ0u5","title":"Security and Cryptography","pathname":"/tfhe-rs/0.5-3/getting-started/security_and_cryptography","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Getting Started"}]},{"id":"FP2Gce4Zw7CzOHVQXYJa","title":"Homomorphic Parity Bit","pathname":"/tfhe-rs/0.5-3/tutorials/parity_bit","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"6PDIC5kK4bHKDlO7yZcU","title":"Homomorphic Case Changing on Ascii String","pathname":"/tfhe-rs/0.5-3/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"p93aco3VFJIqccgamo8S","title":"Run on GPU","pathname":"/tfhe-rs/0.5-3/how-to/run_on_gpu","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"uY5manjsWeetKXQnJOao","title":"Configure Rust","pathname":"/tfhe-rs/0.5-3/how-to/rust_configuration","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"LWQnhnnCdOWxqXUv4bNZ","title":"Detect Overflow","pathname":"/tfhe-rs/0.5-3/how-to/overflow_operations","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"JE4KSiCx7FhQwWGX1NR7","title":"Serialize/Deserialize","pathname":"/tfhe-rs/0.5-3/how-to/serialization","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"YcOCSPixvRj5gietywOy","title":"Migrate Data to Newer Versions of TFHE-rs","pathname":"/tfhe-rs/0.5-3/how-to/migrate_data","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"xCezSPEVguWq1x2UBvdK","title":"Compress Ciphertexts/Keys","pathname":"/tfhe-rs/0.5-3/how-to/compress","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"wCw4EyHiszxqC2WRe5ct","title":"Use Public Key Encryption","pathname":"/tfhe-rs/0.5-3/how-to/public_key","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"XBU9qglM1YcMEVB9FHjo","title":"Use Trivial Ciphertext","pathname":"/tfhe-rs/0.5-3/how-to/trivial_ciphertext","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"obNDk6NXGVSzL8VPtqhL","title":"Generic Function Bounds","pathname":"/tfhe-rs/0.5-3/how-to/trait_bounds","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"hC2qm3m8xMzZumYQ51Ua","title":"Use Parallelized PBS","pathname":"/tfhe-rs/0.5-3/how-to/parallelized_pbs","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"mGlXPKAEbOWT0Ag4Yhev","title":"Use the C API","pathname":"/tfhe-rs/0.5-3/how-to/c_api","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"i84KtdQdhOZuoyOgof1t","title":"Use the JS on WASM API","pathname":"/tfhe-rs/0.5-3/how-to/js_on_wasm_api","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"GtwJgCFEg6k0Pg8OC03C","title":"Use multi-threading using the rayon crate","pathname":"/tfhe-rs/0.5-3/how-to/rayon_crate","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"wDVBs2FJmSU21er0kaCb","title":"Debug","pathname":"/tfhe-rs/0.5-3/how-to/debug","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"How To"}]},{"id":"LGpd3MWCrTt9hCn1DUCh","title":"Quick Start","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/quick_start","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"hZTG5MXHWEF0iLTG9v1G","title":"Boolean","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/boolean","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"IiS6SrMcL4dbGn47f7ht","title":"Operations","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"zf2XdH3yz7W09TO8bxiM","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"MjAVMLkbRQWGL6hUKcZj","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"FZUXslbEipZ7dQEcUvVU","title":"Shortint","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/shortint","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"MPgn2ZFqes772mdVPj6m","title":"Operations","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"Svk97edoZXQ9OJoqYw4h","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"BAYxVKTt8flBmrjeYVZx","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"t3kmgGXhxcfRSbgTl06c","title":"Integer","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/integer","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"}]},{"id":"ipv7iKEzF4t8HT9WOBbL","title":"Operations","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"S3GJ2ocZGUn011oBTi5q","title":"Cryptographic Parameters","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"JxS0vn6JyJ06CuXnYSgH","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.5-3/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"JWGFG07J4TOk9d49Wgjn","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.5-3/application-tutorials/sha256_bool","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"YndeGF6x54IPJpwUewLn","title":"Dark Market with Integer API","pathname":"/tfhe-rs/0.5-3/application-tutorials/dark_market","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"1gWhT0NuI3ZNlWQPgscR","title":"Homomorphic Regular Expressions Integer API","pathname":"/tfhe-rs/0.5-3/application-tutorials/regex","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Application Tutorials"}]},{"id":"GVSJKqQ5lwWtwNXJSeAJ","title":"Quick Start","pathname":"/tfhe-rs/0.5-3/crypto-core-api-advanced-users/presentation","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Crypto Core API [Advanced users]"}]},{"id":"s2eJc4baZ43UL9uZVB48","title":"Tutorial","pathname":"/tfhe-rs/0.5-3/crypto-core-api-advanced-users/tutorial","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Crypto Core API [Advanced users]"}]},{"id":"XtMNyagwjyHRjLp244sO","title":"Contributing","pathname":"/tfhe-rs/0.5-3/developers/contributing","siteSpaceId":"sitesp_YrEht","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"IoGidCXDb6jAsiTBQa0E","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/0.6-3","siteSpaceId":"sitesp_gbjFQ","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"VyaK5VvYw3rSqYF9ZgqW","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.6-3/get-started/getting_started","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"zf3zBz0VhZNqcw6WcVyq","title":"Installation","pathname":"/tfhe-rs/0.6-3/get-started/installation","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"sSt8X05ykGCJUBtc03NJ","title":"Quick start","pathname":"/tfhe-rs/0.6-3/get-started/quick_start","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"6OqzNk0pej7lq6pRuEhk","title":"Types & Operations","pathname":"/tfhe-rs/0.6-3/get-started/operations","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"DQIOPFi11t2Ryoa5QUkN","title":"Benchmarks","pathname":"/tfhe-rs/0.6-3/get-started/benchmarks","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"lWskYjyLxMc8YO1kGLCt","title":"Security and cryptography","pathname":"/tfhe-rs/0.6-3/get-started/security_and_cryptography","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"kfcZ7B9DvMtHGzvlC7z0","title":"Configuration and key generation","pathname":"/tfhe-rs/0.6-3/fundamentals/configure-and-generate-keys","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"Sc9mfzwh917PZZ5tnSUg","title":"Server key","pathname":"/tfhe-rs/0.6-3/fundamentals/set-the-server-key","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"SM4PUM3K8WVn71GGt3pq","title":"Encryption","pathname":"/tfhe-rs/0.6-3/fundamentals/encrypt-data","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"vnUbVvzndp9yRWSkiqOF","title":"Computation on encrypted data","pathname":"/tfhe-rs/0.6-3/fundamentals/compute","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"azEri4IF1IeVyhmkoR8t","title":"Decryption","pathname":"/tfhe-rs/0.6-3/fundamentals/decrypt-data","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"vinKHsfxPq1Cw6AvkYqg","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/0.6-3/fundamentals/encrypted-prf","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"XhvVXcz7qi26VBxYOyay","title":"Serialization/deserialization","pathname":"/tfhe-rs/0.6-3/fundamentals/serialization","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"wZtFDc0yJJwNfp4N0Ruh","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/0.6-3/fundamentals/compress","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"5OJu7xy0znVn1swUmMbI","title":"Debugging","pathname":"/tfhe-rs/0.6-3/fundamentals/debug","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"5LKwsSv74taxFFPLnQri","title":"Rust configuration","pathname":"/tfhe-rs/0.6-3/guides/rust_configuration","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"DWj8FRkK2kwBb7x2heHQ","title":"GPU acceleration","pathname":"/tfhe-rs/0.6-3/guides/run_on_gpu","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"ROAlw2t5TTOOu47ZfTqE","title":"Overflow detection","pathname":"/tfhe-rs/0.6-3/guides/overflow_operations","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"qeIbfr2Uj9COjKnAHahI","title":"Data versioning","pathname":"/tfhe-rs/0.6-3/guides/data_versioning","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"OEGX0qbOKTpG1wTGlxsT","title":"Public key encryption","pathname":"/tfhe-rs/0.6-3/guides/public_key","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"IWidDpoNhByAtBTioAH8","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/0.6-3/guides/zk-pok","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"JIMq10ptgKLf3AoDSz4e","title":"Generic trait bounds","pathname":"/tfhe-rs/0.6-3/guides/trait_bounds","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"FnOASvjJdV7cjlueN3Qz","title":"Parallelized PBS","pathname":"/tfhe-rs/0.6-3/guides/parallelized_pbs","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"Lj8qG2XSPZqop43Eu95L","title":"High-level API in C","pathname":"/tfhe-rs/0.6-3/guides/c_api","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"XWHrCZNa1apXGAboCjhM","title":"JS on WASM API","pathname":"/tfhe-rs/0.6-3/guides/js_on_wasm_api","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"jGBgoesfAkSLiaj6E9fn","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/0.6-3/guides/rayon_crate","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"h3njE3tMFzMk9BYJVtbM","title":"Trivial ciphertexts","pathname":"/tfhe-rs/0.6-3/guides/trivial_ciphertext","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"80mI2hxohyiFsq4uSSW0","title":"PBS statistics","pathname":"/tfhe-rs/0.6-3/guides/pbs-stats","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"1yi1KW0E3Ot5ZKULig8y","title":"All tutorials","pathname":"/tfhe-rs/0.6-3/tutorials/see-all-tutorials","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"ELoEFRB50K5EoHnyhB5Y","title":"Homomorphic parity bit","pathname":"/tfhe-rs/0.6-3/tutorials/parity_bit","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"2KFP0y6bi60YR7r9OqtR","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/0.6-3/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"nMOwumv16mjik6Gnmfn7","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.6-3/tutorials/sha256_bool","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"4yUTZBr7RINerJdYDnkE","title":"Fine-grained APIs","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"tc8w6yAe91SQDY8nvyX0","title":"Quick start","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"KwmtrjX1yoaGFeTQyyYd","title":"Boolean","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"RNjeo9hdKh9EadtOO3Yg","title":"Operations","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"dvc96xvQv907AEc6pwnI","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"KWL3R6Mtt898AbIVFV3p","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"Swwnb7wVkX45NnJBRaCN","title":"Shortint","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"VBGE9bPRWgm6Sb0P42xm","title":"Operations","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"L4GBYnaKmj0jxcWMwMkK","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"pW0Rsat8BYkSP80IRYYt","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"3NmNWqQFP2KzoQ78B9dp","title":"Integer","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/integer","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"FlHfaroC5h8dIwC5ieFc","title":"Operations","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"1TFXpIlbt9mIySuBI4fH","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"xmU8QELLf6m7TT4nCUbT","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.6-3/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"6HPJKpB57grnG9x5c7y2","title":"Core crypto API","pathname":"/tfhe-rs/0.6-3/references/core-crypto-api","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"tUd9pTzIhN6Xvexjv3R2","title":"Quick start","pathname":"/tfhe-rs/0.6-3/references/core-crypto-api/presentation","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"sqEYr4VDNvGqGy5DBX72","title":"Tutorial","pathname":"/tfhe-rs/0.6-3/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"obHclFlux5mVTIPhbSvL","title":"TFHE deep dive","pathname":"/tfhe-rs/0.6-3/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"WsWfVAHxdUDbmGFR252i","title":"Contributing","pathname":"/tfhe-rs/0.6-3/developers/contributing","siteSpaceId":"sitesp_gbjFQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"rGHxw9RzQdvu95Tdu0MM","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/0.7-1","siteSpaceId":"sitesp_0odMq","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"kjwXTizZcgRBk5FaSZEO","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.7-1/get-started/getting_started","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"LuzIF5WHQUptHnNo61QW","title":"Installation","pathname":"/tfhe-rs/0.7-1/get-started/installation","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"EgL1SGmwBHr4WETGti7J","title":"Quick start","pathname":"/tfhe-rs/0.7-1/get-started/quick_start","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"8hO2yN6bXCBRZtmv3gEw","title":"Types & Operations","pathname":"/tfhe-rs/0.7-1/get-started/operations","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"f6ZC8BNRlSkHP01hpePV","title":"Benchmarks","pathname":"/tfhe-rs/0.7-1/get-started/benchmarks","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"SnD2wXocYN7wVlaFy805","title":"Security and cryptography","pathname":"/tfhe-rs/0.7-1/get-started/security_and_cryptography","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"pjY4MpHMaGtf8bxoADaQ","title":"Configuration and key generation","pathname":"/tfhe-rs/0.7-1/fundamentals/configure-and-generate-keys","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"KNjhb9bOrFRRSYWpvLtB","title":"Server key","pathname":"/tfhe-rs/0.7-1/fundamentals/set-the-server-key","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"Gz2h8VDswbj01sWoXN4U","title":"Encryption","pathname":"/tfhe-rs/0.7-1/fundamentals/encrypt-data","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"qM1tMjy8Fb4PgpbnV9VI","title":"Computation on encrypted data","pathname":"/tfhe-rs/0.7-1/fundamentals/compute","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"lOgfzNBT2UB6fnBFOFBs","title":"Decryption","pathname":"/tfhe-rs/0.7-1/fundamentals/decrypt-data","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"BT0v0WrGQDSCSL9AmCcv","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/0.7-1/fundamentals/encrypted-prf","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"qMyLxy5uk8L4lkNoRMBe","title":"Serialization/deserialization","pathname":"/tfhe-rs/0.7-1/fundamentals/serialization","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"t2fHeqElrGU2YCCIE3Qe","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/0.7-1/fundamentals/compress","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"3P6pAetVQ5pfBOOtLRTp","title":"Debugging","pathname":"/tfhe-rs/0.7-1/fundamentals/debug","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"x3OZfepTTUKt4EiWQXIm","title":"Rust configuration","pathname":"/tfhe-rs/0.7-1/guides/rust_configuration","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"iH2gQ0g5Bp9UbEl8USYD","title":"GPU acceleration","pathname":"/tfhe-rs/0.7-1/guides/run_on_gpu","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"rT8WkLYRwwh2DlsqueFO","title":"Overflow detection","pathname":"/tfhe-rs/0.7-1/guides/overflow_operations","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"3Smti4r4HmfgdORQD0ZY","title":"Data versioning","pathname":"/tfhe-rs/0.7-1/guides/data_versioning","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"LHCuKpyjyaMzbgMb72oC","title":"Public key encryption","pathname":"/tfhe-rs/0.7-1/guides/public_key","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"AdXxaoRH8IiBAXzfF3OM","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/0.7-1/guides/zk-pok","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"uEZaHtauarJCVbx43sQW","title":"Generic trait bounds","pathname":"/tfhe-rs/0.7-1/guides/trait_bounds","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"X0Q8LC5upRpT1YqDSYxa","title":"Parallelized PBS","pathname":"/tfhe-rs/0.7-1/guides/parallelized_pbs","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"RKgZzSbztXgScbhrweoX","title":"High-level API in C","pathname":"/tfhe-rs/0.7-1/guides/c_api","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"qig6AbvKZNTdy32I45m0","title":"JS on WASM API","pathname":"/tfhe-rs/0.7-1/guides/js_on_wasm_api","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"qjO6arAFgAK5chbAYAAK","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/0.7-1/guides/rayon_crate","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"HcVfAc46yAlP7BVAc9Vj","title":"Trivial ciphertexts","pathname":"/tfhe-rs/0.7-1/guides/trivial_ciphertext","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"ANLx3EdC9QuLRtucqh97","title":"PBS statistics","pathname":"/tfhe-rs/0.7-1/guides/pbs-stats","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"5KRP8R8E4juOfNbk5OKC","title":"All tutorials","pathname":"/tfhe-rs/0.7-1/tutorials/see-all-tutorials","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"SPPgDzjxifCZYeNbfz96","title":"Homomorphic parity bit","pathname":"/tfhe-rs/0.7-1/tutorials/parity_bit","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"k9AoKnpi4HEBaLdrOpCE","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/0.7-1/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"26nWSSACiQgIq7P2KSbR","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.7-1/tutorials/sha256_bool","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"rBWq155ZdTuo9AbWMHph","title":"Fine-grained APIs","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"ib6KLe7S68RYiTLBzfbj","title":"Quick start","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"fZjskIGOu1EG8GSjCSks","title":"Boolean","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"UKn9VRxVmDEuZemyOuvo","title":"Operations","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"rW9ide0Ufl1ksvv94fK1","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"LVnigGnvHIkKDJZL7UeC","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"oi6dfrd8ql7qO7yadWKY","title":"Shortint","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"4taEK1ahmwZFa8HRsmhZ","title":"Operations","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"BNJJ6h0OzAXtmxGFUv8u","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"ITN8mRFJK1S3AbYvw25g","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"S8qNRX57B96dZ5Skw5N3","title":"Integer","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/integer","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"AMz162NKChAUuoEyE22y","title":"Operations","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"uklmmwe310mWUemogLSC","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"wuJS3ip9uGKprbhTmJw9","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.7-1/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"tpufWo6DYU6fMCPlQ56J","title":"Core crypto API","pathname":"/tfhe-rs/0.7-1/references/core-crypto-api","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"wxqG8w8vCncJg75VzXoJ","title":"Quick start","pathname":"/tfhe-rs/0.7-1/references/core-crypto-api/presentation","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"aFZIYLsawi7jgvrVbqI3","title":"Tutorial","pathname":"/tfhe-rs/0.7-1/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"YYkC4MbT1TiPoPgsXPbq","title":"TFHE deep dive","pathname":"/tfhe-rs/0.7-1/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"WpidDW6hVNqr7aCuFw53","title":"Contributing","pathname":"/tfhe-rs/0.7-1/developers/contributing","siteSpaceId":"sitesp_0odMq","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"oSp9XeIZST62LkgkDN6e","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/0.8","siteSpaceId":"sitesp_NsfJf","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"pjPZg12IIA3dHHkZQANe","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.8/get-started/getting_started","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"CejkapwdAzPZwyGJKpkG","title":"Installation","pathname":"/tfhe-rs/0.8/get-started/installation","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"TVuOQfCpjUdONBZRKlRl","title":"Quick start","pathname":"/tfhe-rs/0.8/get-started/quick_start","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"PJwsMwtma8cD4EmmrKz8","title":"Types & Operations","pathname":"/tfhe-rs/0.8/get-started/operations","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"hbHe0fvmFGn4OlsSZes4","title":"Benchmarks","pathname":"/tfhe-rs/0.8/get-started/summary","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"uXbH7T2aHldKc6494vBI","title":"CPU Benchmarks","pathname":"/tfhe-rs/0.8/get-started/summary/cpu_benchmarks","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"5SEjLvOumw46YLPFRuRp","title":"GPU Benchmarks","pathname":"/tfhe-rs/0.8/get-started/summary/gpu_benchmarks","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"XDv7jv32BnD1Ph8uwjFR","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/0.8/get-started/summary/zk_proof_benchmarks","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"7DW4f7RkJymZLSDKbuPV","title":"Security and cryptography","pathname":"/tfhe-rs/0.8/get-started/security_and_cryptography","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"FbL5pqWn2Gxe3zzuW5AB","title":"Configuration and key generation","pathname":"/tfhe-rs/0.8/fundamentals/configure-and-generate-keys","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"1c2gOck3pLHplbfIq8ky","title":"Server key","pathname":"/tfhe-rs/0.8/fundamentals/set-the-server-key","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"rJ0MU0laZvHmombIwOjG","title":"Encryption","pathname":"/tfhe-rs/0.8/fundamentals/encrypt-data","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"a1laQ9l91C2QxdWGqALq","title":"Computation on encrypted data","pathname":"/tfhe-rs/0.8/fundamentals/compute","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"LsPcVxSFScwvQOOjGgMc","title":"Decryption","pathname":"/tfhe-rs/0.8/fundamentals/decrypt-data","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"qVEbDvaYL4Vp0jBTIdJR","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/0.8/fundamentals/encrypted-prf","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"ISmN8ILu7wX2xr9DPejj","title":"Serialization/deserialization","pathname":"/tfhe-rs/0.8/fundamentals/serialization","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"kYk4JVb4bIhvSlIoQNkh","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/0.8/fundamentals/compress","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"YQ1sNND33FZmvr5T9Xrs","title":"Debugging","pathname":"/tfhe-rs/0.8/fundamentals/debug","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"2XBtz0wC8m0Lw1ifRFrS","title":"Rust configuration","pathname":"/tfhe-rs/0.8/guides/rust_configuration","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"8aXifmZYG5DbTs7op9dj","title":"GPU acceleration","pathname":"/tfhe-rs/0.8/guides/run_on_gpu","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"JWyjaD0DuuTlRM7f32PH","title":"Overflow detection","pathname":"/tfhe-rs/0.8/guides/overflow_operations","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"mIthCOnm3nO8tO4LFLJ7","title":"Data versioning","pathname":"/tfhe-rs/0.8/guides/data_versioning","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"rLAPok2vdE9jR2Ou0TDM","title":"Public key encryption","pathname":"/tfhe-rs/0.8/guides/public_key","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"VImAFYRmGBAhfteNJgBT","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/0.8/guides/zk-pok","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"P241RW1l2C4TX8O9ryXZ","title":"Generic trait bounds","pathname":"/tfhe-rs/0.8/guides/trait_bounds","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"37VZgupVFLFveheLEAL1","title":"Parallelized PBS","pathname":"/tfhe-rs/0.8/guides/parallelized_pbs","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"1RebAiYB3gyMiR5LTkq5","title":"High-level API in C","pathname":"/tfhe-rs/0.8/guides/c_api","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"YAjPeuQAeZHobetPka7p","title":"JS on WASM API","pathname":"/tfhe-rs/0.8/guides/js_on_wasm_api","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"hL8YCj5qP99chdlP5axJ","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/0.8/guides/rayon_crate","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"oi3CUShFja0acLrl7Okl","title":"Trivial ciphertexts","pathname":"/tfhe-rs/0.8/guides/trivial_ciphertext","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"UVNRcnwxP8fNTAuwgAdD","title":"PBS statistics","pathname":"/tfhe-rs/0.8/guides/pbs-stats","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"v5eDl1lYAGfwfCcc1zJO","title":"Array","pathname":"/tfhe-rs/0.8/guides/array","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"0uNxcIxH1P5dyLopLQ82","title":"All tutorials","pathname":"/tfhe-rs/0.8/tutorials/see-all-tutorials","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"oTjj74vB1joxyQyCF1Mn","title":"Homomorphic parity bit","pathname":"/tfhe-rs/0.8/tutorials/parity_bit","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"JNS96FJRw8fiQNgIpkrc","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/0.8/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"bO9QpK2rZpvjI4LboGyo","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.8/tutorials/sha256_bool","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"73j4oHGzhYB5OhJ18sQU","title":"Fine-grained APIs","pathname":"/tfhe-rs/0.8/references/fine-grained-apis","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"gGuXiH8SQdFK0UvxoVMn","title":"Quick start","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"Z8NNkQ49Lz3QdnmPhUNb","title":"Boolean","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"LfHFaT4L9A27DX5GD2Vw","title":"Operations","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"f7lSM08xfRrLfyZWBULE","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"HjRtvAXZeLhrCtG1pUNw","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"XArqHIQomg0XqeODsraM","title":"Shortint","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"W3mlzTe8gisfz01Dv6Jx","title":"Operations","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"jWkRP4KiXMon3tZ0QCoN","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"DQAuYy5NNfuvTv8UyjH2","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"nbNKWcXBVyYO0aCLU3rn","title":"Integer","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/integer","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"1wAgnw5ShtoLh6YORZZz","title":"Operations","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"T2G40wjCePhX5OZQdFWD","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"CfRKZsL3jxVRdjLGLBET","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.8/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"wLMYHSCB6ZcWtff8J3qm","title":"Core crypto API","pathname":"/tfhe-rs/0.8/references/core-crypto-api","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"NJnIVzAC3FzQIQWIfDLc","title":"Quick start","pathname":"/tfhe-rs/0.8/references/core-crypto-api/presentation","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"EALx1BdRFYNKSO0oCla9","title":"Tutorial","pathname":"/tfhe-rs/0.8/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"vydddBgs54bbQ1nwbv3A","title":"TFHE deep dive","pathname":"/tfhe-rs/0.8/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"ZqnyO2OZXBsp0m9sY701","title":"Contributing","pathname":"/tfhe-rs/0.8/developers/contributing","siteSpaceId":"sitesp_NsfJf","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"3wse5AA2qYVdtZZYWIcz","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/0.9","siteSpaceId":"sitesp_0C5F8","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"u7gmzwXx13ETFFPnnKDy","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.9/get-started/getting_started","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"mRNF60hsyHD1axGhw5nG","title":"Installation","pathname":"/tfhe-rs/0.9/get-started/installation","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"Hm5qiEevcicEPAhqXwGy","title":"Quick start","pathname":"/tfhe-rs/0.9/get-started/quick_start","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"FNXIQHovGMabtw88iw6u","title":"Types & Operations","pathname":"/tfhe-rs/0.9/get-started/operations","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"LhsQmZwT2jGlQwgNJH7v","title":"Benchmarks","pathname":"/tfhe-rs/0.9/get-started/summary","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"IGjmYMTntQVQoe1yS4wJ","title":"CPU Benchmarks","pathname":"/tfhe-rs/0.9/get-started/summary/cpu_benchmarks","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"l2Rxj2rKdwXiM3nP387d","title":"GPU Benchmarks","pathname":"/tfhe-rs/0.9/get-started/summary/gpu_benchmarks","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"oUFT2ojjpm6Lf3Fw4K9r","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/0.9/get-started/summary/zk_proof_benchmarks","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"oo4cfx9J5PytQ6HEiTpC","title":"Security and cryptography","pathname":"/tfhe-rs/0.9/get-started/security_and_cryptography","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"LJpkKhygsmrEMpneXLZi","title":"Configuration and key generation","pathname":"/tfhe-rs/0.9/fundamentals/configure-and-generate-keys","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"Y5gj4KI2GDonHmlbcTHb","title":"Server key","pathname":"/tfhe-rs/0.9/fundamentals/set-the-server-key","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"gz35M5pI24XfzNzsOhKh","title":"Encryption","pathname":"/tfhe-rs/0.9/fundamentals/encrypt-data","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"OQtGuV8wyvfRkeisaMYK","title":"Computation on encrypted data","pathname":"/tfhe-rs/0.9/fundamentals/compute","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"52VGkZYnjiw5MvYieN9F","title":"Decryption","pathname":"/tfhe-rs/0.9/fundamentals/decrypt-data","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"F6z8seyvbjaY5JPRO0zX","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/0.9/fundamentals/encrypted-prf","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"vufwUfPbLdJ6hpzOa4L4","title":"Serialization/deserialization","pathname":"/tfhe-rs/0.9/fundamentals/serialization","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"an1bBc1ztLskOKCnN7kh","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/0.9/fundamentals/compress","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"5C1bvhlfnvvqea8Uxm2K","title":"Debugging","pathname":"/tfhe-rs/0.9/fundamentals/debug","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"Q7rcM9OLIQ5jqVUQ2Ddi","title":"Rust configuration","pathname":"/tfhe-rs/0.9/guides/rust_configuration","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"vkfhzICFfu1af5Qili5B","title":"GPU acceleration","pathname":"/tfhe-rs/0.9/guides/run_on_gpu","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"dQNBEES8OwYjMsL9mNlJ","title":"Overflow detection","pathname":"/tfhe-rs/0.9/guides/overflow_operations","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"oCu8aLI71ywssdCnquAY","title":"Data versioning","pathname":"/tfhe-rs/0.9/guides/data_versioning","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"HQ3eFfyWSYD40omZFQeU","title":"Public key encryption","pathname":"/tfhe-rs/0.9/guides/public_key","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"9cHT735nelQ3B9KZ9tGS","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/0.9/guides/zk-pok","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"dc3u7iPLRwj48bE5x9m5","title":"Generic trait bounds","pathname":"/tfhe-rs/0.9/guides/trait_bounds","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"cphCl9yAHSGJhIyPoJDQ","title":"Parallelized PBS","pathname":"/tfhe-rs/0.9/guides/parallelized_pbs","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"ZTQJB0IEzyd2vWaVTUpc","title":"High-level API in C","pathname":"/tfhe-rs/0.9/guides/c_api","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"0nbHhElewXU0ShR5Gi83","title":"JS on WASM API","pathname":"/tfhe-rs/0.9/guides/js_on_wasm_api","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"n0LiiPeDt1Wgvir7kx35","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/0.9/guides/rayon_crate","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"1t4LTOtdTXnTfapZTand","title":"Trivial ciphertexts","pathname":"/tfhe-rs/0.9/guides/trivial_ciphertext","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"aixNaaz5Zxu3uZi09ZvH","title":"PBS statistics","pathname":"/tfhe-rs/0.9/guides/pbs-stats","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"16PnMW2AP1NfCHkURRYk","title":"Array","pathname":"/tfhe-rs/0.9/guides/array","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"fZAf6utWgmWjYriq4e8B","title":"All tutorials","pathname":"/tfhe-rs/0.9/tutorials/see-all-tutorials","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"akzFtN9tgZyMZ7u4qr79","title":"Homomorphic parity bit","pathname":"/tfhe-rs/0.9/tutorials/parity_bit","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"uQxc96gKqGY8K0V7oR7X","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/0.9/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"E7GW6lPeN0EbSgfaMc4t","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.9/tutorials/sha256_bool","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"BivNb2Oujg3YgE0mCUjT","title":"Fine-grained APIs","pathname":"/tfhe-rs/0.9/references/fine-grained-apis","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"Dnohpo5jfOJ6jhnDvYRX","title":"Quick start","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"amAqDM7BI8NnRlg2MeH8","title":"Boolean","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"kchLc4v0wwMxv1tOIsJQ","title":"Operations","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"GkRqXHyrBqr3lRjFpg6b","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"pMl3bwhXoacgFlchLJ8B","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"enisp0vCR5o0AvIwQRpA","title":"Shortint","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"YGnVJDmsBB4WsAgE8mK2","title":"Operations","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"fHxkEwzTRMAb33rnazqa","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"F3FchbsBrxyiqnzRLRlo","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"QNDWMIuT4XrdwWSoUTxS","title":"Integer","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/integer","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"Fkb62jTiakgBWqSgAOQ4","title":"Operations","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"f4kXAZL1xG5Ta8ONilaD","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"0mveFqNew6M1mt06jmwS","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.9/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"qEKjHqV8qh3qtQ5yxwzQ","title":"Core crypto API","pathname":"/tfhe-rs/0.9/references/core-crypto-api","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"i93o3JMmr3opUwwNJUKS","title":"Quick start","pathname":"/tfhe-rs/0.9/references/core-crypto-api/presentation","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"jEu5ifncaxMTKIj9IbeX","title":"Tutorial","pathname":"/tfhe-rs/0.9/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"549SCpgQIFQQkTs5ihTX","title":"TFHE deep dive","pathname":"/tfhe-rs/0.9/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"8qG7Vaxp18B4ZZVB7m0P","title":"Contributing","pathname":"/tfhe-rs/0.9/developers/contributing","siteSpaceId":"sitesp_0C5F8","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"jDgfUAAUXFG48yzu3VSx","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/0.10","siteSpaceId":"sitesp_8DysQ","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"rQsPjs1oeowpSI7ZEYIo","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.10/get-started/getting_started","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"PC9Ow4EQOQFIiIESyAqf","title":"Installation","pathname":"/tfhe-rs/0.10/get-started/installation","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"mm10DGmcarlo5eDeTU4S","title":"Quick start","pathname":"/tfhe-rs/0.10/get-started/quick_start","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"20H0Nmz4oI1JwZgS6Qes","title":"Types & Operations","pathname":"/tfhe-rs/0.10/get-started/operations","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"v40V2HXHOfItFKNif4ff","title":"Benchmarks","pathname":"/tfhe-rs/0.10/get-started/summary","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"dPRs9Y52Lp1L7Xgv9Us8","title":"CPU Benchmarks","pathname":"/tfhe-rs/0.10/get-started/summary/cpu_benchmarks","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"fziMO6v3R2r53RxEF9Dg","title":"GPU Benchmarks","pathname":"/tfhe-rs/0.10/get-started/summary/gpu_benchmarks","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"phE2kr0bwwYS9voHv0wY","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/0.10/get-started/summary/zk_proof_benchmarks","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"tCGbFXLq1bKgEkWEVfum","title":"Security and cryptography","pathname":"/tfhe-rs/0.10/get-started/security_and_cryptography","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"GjzSIZaUcymu35CBxwAN","title":"Configuration and key generation","pathname":"/tfhe-rs/0.10/fundamentals/configure-and-generate-keys","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"vj6SG523wexPEpflVDpI","title":"Server key","pathname":"/tfhe-rs/0.10/fundamentals/set-the-server-key","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"HrOBlUgjDt9dge7nZOxz","title":"Encryption","pathname":"/tfhe-rs/0.10/fundamentals/encrypt-data","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"9Vj7BZvRqYqg4azgytcW","title":"Computation on encrypted data","pathname":"/tfhe-rs/0.10/fundamentals/compute","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"JYc4Y2CnQWToiCNsDDLu","title":"Decryption","pathname":"/tfhe-rs/0.10/fundamentals/decrypt-data","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"jRVU9KbRK4qjbud5J3UW","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/0.10/fundamentals/encrypted-prf","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"4yVQFA6uFIdj9vv2zro5","title":"Serialization/deserialization","pathname":"/tfhe-rs/0.10/fundamentals/serialization","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"QvlRyNsW8PsloHaVbphP","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/0.10/fundamentals/compress","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"29Wy42WyUQLD3w0Q1zSn","title":"Debugging","pathname":"/tfhe-rs/0.10/fundamentals/debug","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"4Re46u8tfg9QF1eWf7qy","title":"Rust configuration","pathname":"/tfhe-rs/0.10/guides/rust_configuration","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"e8aeGjwNpQV0a4p7cWf7","title":"GPU acceleration","pathname":"/tfhe-rs/0.10/guides/run_on_gpu","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"WuACL8dcGEcVOdre6txW","title":"Overflow detection","pathname":"/tfhe-rs/0.10/guides/overflow_operations","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"HUzTO344qlAJDWalZNXu","title":"Data versioning","pathname":"/tfhe-rs/0.10/guides/data_versioning","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"XQku21ybbZgbXuwWsHHh","title":"Public key encryption","pathname":"/tfhe-rs/0.10/guides/public_key","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"tPyhGDCONv4DvKvVYtIS","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/0.10/guides/zk-pok","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"j9DVjgHgodkviiL64AlK","title":"Generic trait bounds","pathname":"/tfhe-rs/0.10/guides/trait_bounds","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"0ueOF8OO43qGECdTdhWQ","title":"Parallelized PBS","pathname":"/tfhe-rs/0.10/guides/parallelized_pbs","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"1YQlfZW3vi0uZWar1XtT","title":"High-level API in C","pathname":"/tfhe-rs/0.10/guides/c_api","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"UEb2DqqXTTXLfU98pkh2","title":"JS on WASM API","pathname":"/tfhe-rs/0.10/guides/js_on_wasm_api","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"6ylBC76Yeoz6odXAIMCn","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/0.10/guides/rayon_crate","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"WUAVsRCyRdUIopzL52cX","title":"Trivial ciphertexts","pathname":"/tfhe-rs/0.10/guides/trivial_ciphertext","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"WZYk7hpanDXngCdu4mnB","title":"PBS statistics","pathname":"/tfhe-rs/0.10/guides/pbs-stats","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"RToWUVquYFZz7Km4Tcvb","title":"Array","pathname":"/tfhe-rs/0.10/guides/array","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"uyb8xNRlIrVd7b9sgGaD","title":"All tutorials","pathname":"/tfhe-rs/0.10/tutorials/see-all-tutorials","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"32MGabCTcnOgs1dW0H4X","title":"Homomorphic parity bit","pathname":"/tfhe-rs/0.10/tutorials/parity_bit","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"PikuezUREuL1El9MFrGV","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/0.10/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"Sf26pcgcb5Oqs381aYtk","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.10/tutorials/sha256_bool","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"44JqczywBiNk8QK9amOm","title":"Fine-grained APIs","pathname":"/tfhe-rs/0.10/references/fine-grained-apis","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"Fv9qdFzWmppbglmyRoLH","title":"Quick start","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"mSKEOQDsv8KYgvVGaQPR","title":"Boolean","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"SUkKb2rh245wfQD51cVt","title":"Operations","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"8egaTqZFnzOSZn4IBDAC","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"dapOFLYoUizBlAGqWVXE","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"F1FdgKjRM6CI5LS2noI5","title":"Shortint","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"bx8UuML7jcNUnASSAvIt","title":"Operations","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"nbGmZhq3aPOqE0AP5eRw","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"gLLzShcLNcR2lWvEXx73","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"xLquOFVHzmfnJBxZbV50","title":"Integer","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/integer","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"7KPh7M5ywiZ1piwVUYb4","title":"Operations","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"HJV09QmCJWHLampNiJnw","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"DjpJcXFeChxgTNwfatKt","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.10/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"rdE3YwItf32we65vRdwu","title":"Core crypto API","pathname":"/tfhe-rs/0.10/references/core-crypto-api","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"Ey0Hh8fmZjaPTxfd4LHe","title":"Quick start","pathname":"/tfhe-rs/0.10/references/core-crypto-api/presentation","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"rSkZrDFyFe7UlilYpZFl","title":"Tutorial","pathname":"/tfhe-rs/0.10/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"ThznWiomeErh60Be5cHd","title":"TFHE deep dive","pathname":"/tfhe-rs/0.10/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"xS6auJrpQ4NJJ7CVeoxC","title":"Contributing","pathname":"/tfhe-rs/0.10/developers/contributing","siteSpaceId":"sitesp_8DysQ","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"mVfTij2wk52XXBZK1RYh","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/0.11","siteSpaceId":"sitesp_N2U9a","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"ZE8krht68qq6G0rLHjK4","title":"What is TFHE-rs?","pathname":"/tfhe-rs/0.11/get-started/getting_started","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"yIrK1tmP21TJO6F4c1Fz","title":"Installation","pathname":"/tfhe-rs/0.11/get-started/installation","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"9VyvRdkltI0ACpLH6bFr","title":"Quick start","pathname":"/tfhe-rs/0.11/get-started/quick_start","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"0ZCUXK3RWMhBVFYBDlG3","title":"Types & Operations","pathname":"/tfhe-rs/0.11/get-started/operations","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"WUq2AwxWTKsCphWsMCSB","title":"Benchmarks","pathname":"/tfhe-rs/0.11/get-started/summary","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"ZhuWmDPOEJtanyP3DDAY","title":"CPU Benchmarks","pathname":"/tfhe-rs/0.11/get-started/summary/cpu_benchmarks","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"JwcuSrLZluwKenulLq4P","title":"GPU Benchmarks","pathname":"/tfhe-rs/0.11/get-started/summary/gpu_benchmarks","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"6FMSQNz1Xt4RdQNDwm96","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/0.11/get-started/summary/zk_proof_benchmarks","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"ArU0KHikPN3I1AMPJiAY","title":"Security and cryptography","pathname":"/tfhe-rs/0.11/get-started/security_and_cryptography","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"VGwPsX0Vpq6qrtrDBn8X","title":"Configuration and key generation","pathname":"/tfhe-rs/0.11/fundamentals/configure-and-generate-keys","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"szD0QcgUfvRxOweG2nY0","title":"Server key","pathname":"/tfhe-rs/0.11/fundamentals/set-the-server-key","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"ZNhgRstQDeRldPLQRzB2","title":"Encryption","pathname":"/tfhe-rs/0.11/fundamentals/encrypt-data","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"StlMrbLZtjCxJZo1ELZm","title":"Computation on encrypted data","pathname":"/tfhe-rs/0.11/fundamentals/compute","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"vheYuIC45QT2ZP9rqamA","title":"Decryption","pathname":"/tfhe-rs/0.11/fundamentals/decrypt-data","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"8Sqz27VlymkInF7PUcdk","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/0.11/fundamentals/encrypted-prf","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"HlA6nD9ZM1T1rAv8vrPZ","title":"Serialization/deserialization","pathname":"/tfhe-rs/0.11/fundamentals/serialization","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"uJZMLbEwqL65k8JTxs3F","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/0.11/fundamentals/compress","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"YlaIs0slHS7Wk1rj6mrR","title":"Debugging","pathname":"/tfhe-rs/0.11/fundamentals/debug","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Fundamentals"}]},{"id":"fWS28sovzIIsisHWUXgo","title":"Rust configuration","pathname":"/tfhe-rs/0.11/guides/rust_configuration","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"DrCB5UBfkvfQt4Omtz2X","title":"GPU acceleration","pathname":"/tfhe-rs/0.11/guides/run_on_gpu","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"mO42TkwP87xpGexNHNoc","title":"Overflow detection","pathname":"/tfhe-rs/0.11/guides/overflow_operations","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"L1PfJxt4bv6EfYidLeIh","title":"Data versioning","pathname":"/tfhe-rs/0.11/guides/data_versioning","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"eR33dbdRZhHseFuUZITV","title":"Public key encryption","pathname":"/tfhe-rs/0.11/guides/public_key","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"cfoZXckJGdEREkdXMTZJ","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/0.11/guides/zk-pok","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"mQKIGWusYRwyeXiQJmeB","title":"Generic trait bounds","pathname":"/tfhe-rs/0.11/guides/trait_bounds","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"5lXald4L0uphmcbpm7to","title":"Parallelized PBS","pathname":"/tfhe-rs/0.11/guides/parallelized_pbs","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"uGNEXfRc1SDudobIikEd","title":"High-level API in C","pathname":"/tfhe-rs/0.11/guides/c_api","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"ph8dGV7e2eWustcU0YpE","title":"JS on WASM API","pathname":"/tfhe-rs/0.11/guides/js_on_wasm_api","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"AM7GXswEQNhoNfPUdvxc","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/0.11/guides/rayon_crate","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"OD4eIbkm1FPGarRalZH8","title":"Trivial ciphertexts","pathname":"/tfhe-rs/0.11/guides/trivial_ciphertext","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"6y6HzgkcEUThgxdjmvfL","title":"PBS statistics","pathname":"/tfhe-rs/0.11/guides/pbs-stats","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"D5xOtpzAE8RsbaAclakH","title":"Array","pathname":"/tfhe-rs/0.11/guides/array","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"vMa01MWB8BCYFr6PEBzs","title":"Strings","pathname":"/tfhe-rs/0.11/guides/strings","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Guides"}]},{"id":"C9JuDxSP85NDIHfgssMc","title":"All tutorials","pathname":"/tfhe-rs/0.11/tutorials/see-all-tutorials","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"vKjnkzoY9fH70aW7VhgD","title":"Homomorphic parity bit","pathname":"/tfhe-rs/0.11/tutorials/parity_bit","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"OBcjN3M7hAVWqRCFyTjv","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/0.11/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"RPyydLwhGedrt7hzzfU8","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/0.11/tutorials/sha256_bool","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"f4g7dzzWjuWnfAd9VkeL","title":"Fine-grained APIs","pathname":"/tfhe-rs/0.11/references/fine-grained-apis","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"YYyhmXaSBzy2ZfG6TC7P","title":"Quick start","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"GwDJbsh3gJqQRP18cPMc","title":"Boolean","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"vK2MEnewbgXVPiylhhN7","title":"Operations","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"oKCNTrGzpo0AYfSZWa01","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"lLwuIrW6uN5Lf7UkGuoY","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"NoI4Im1GHTpKYZTxIzbQ","title":"Shortint","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"vI7ZvsuFYDd8nxA8eK4n","title":"Operations","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"Z1qNLyzP9M47pIzeB7rf","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"3ZUEOn7CrbcDNHAamII1","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"rhyxoQTc9Gv7M0HBA5ch","title":"Integer","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/integer","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"B2esxGQW5TBohgwLeVO4","title":"Operations","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"qrXpsUr0OyDc8AKYptJc","title":"Cryptographic parameters","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"E90X3y1PTr51kwWrPnGX","title":"Serialization/Deserialization","pathname":"/tfhe-rs/0.11/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"J0I6z6CXzS9aokNWSWet","title":"Core crypto API","pathname":"/tfhe-rs/0.11/references/core-crypto-api","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"ZvzQfZaQqhU8tKMTxf87","title":"Quick start","pathname":"/tfhe-rs/0.11/references/core-crypto-api/presentation","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"YtZPkSx2EwE5Pgnu1reO","title":"Tutorial","pathname":"/tfhe-rs/0.11/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"4RFHa5kiR7xdEf2gKGsL","title":"TFHE deep dive","pathname":"/tfhe-rs/0.11/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"rZFOTPEQ07BBRJLkOTOx","title":"Contributing","pathname":"/tfhe-rs/0.11/developers/contributing","siteSpaceId":"sitesp_N2U9a","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"qffiabcpQq8BVQKOLXaN","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/1.0","siteSpaceId":"sitesp_1gizH","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"vf86vapQ5dK1ewHJCrtK","title":"What is TFHE-rs?","pathname":"/tfhe-rs/1.0/get-started/getting_started","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"5Y115T6gUBTe8zUt2Ojh","title":"Installation","pathname":"/tfhe-rs/1.0/get-started/installation","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"rRnLPiMInRS1V5tTyNzp","title":"Quick start","pathname":"/tfhe-rs/1.0/get-started/quick_start","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"Bv2REPgMbDCRKUGB2SBP","title":"Benchmarks","pathname":"/tfhe-rs/1.0/get-started/benchmarks","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"JEOwwIIFcbudTRnTircO","title":"CPU Benchmarks","pathname":"/tfhe-rs/1.0/get-started/benchmarks/cpu","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"NNFnJtphlCqfaobxcPv3","title":"Integer","pathname":"/tfhe-rs/1.0/get-started/benchmarks/cpu/cpu_integer_operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"JYwUwTLKGqustAjedvfq","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.0/get-started/benchmarks/cpu/cpu_programmable_bootstrapping","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"Gwx8kSMlINcZ1tI57typ","title":"GPU Benchmarks","pathname":"/tfhe-rs/1.0/get-started/benchmarks/gpu","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"fHd3WTWYYbzf8JtIcZ4N","title":"Integer","pathname":"/tfhe-rs/1.0/get-started/benchmarks/gpu/gpu_integer_operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"I5p3cbEVjUj8d9imzBL9","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.0/get-started/benchmarks/gpu/gpu_programmable_bootstrapping","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"Bmbnv4StNQ1tvDZpnycP","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/1.0/get-started/benchmarks/zk_proof_benchmarks","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"vlCQpXDVRNvmTQTv2EwH","title":"Security and cryptography","pathname":"/tfhe-rs/1.0/get-started/security_and_cryptography","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"zN2YPa2LErUNF4PXNhqc","title":"Types","pathname":"/tfhe-rs/1.0/fhe-computation/types","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"Hm3tMRd79ZkxvCQ9qZDN","title":"Integer","pathname":"/tfhe-rs/1.0/fhe-computation/types/integer","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"Xjafu1HKLCNBGxRM3dlL","title":"Strings","pathname":"/tfhe-rs/1.0/fhe-computation/types/strings","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"qeKr1mVBYJES835O4xD1","title":"Array","pathname":"/tfhe-rs/1.0/fhe-computation/types/array","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"XPjmkU0Td8B8qVwydqoT","title":"Operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"1AJs14sRfAyBrwRvjRlc","title":"Arithmetic operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/arithmetic-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"GqlDvLRrzvPtpKGvEwbX","title":"Bitwise operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/bitwise-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"e356qPQ2Xm0PniwfUfnt","title":"Comparison operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/comparison-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"hL3UWIB42esd0KDY5HYU","title":"Min/Max operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/min-max-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"zGxzg2ZoYmOxIgQfhJja","title":"Ternary conditional operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/ternary-conditional-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"cd8pJQ102hO3x69GXl6M","title":"Casting operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/casting-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"s5CudneWro234j9tsOOE","title":"Boolean Operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/boolean-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"rmqQ950Ym4vCmmuezzM1","title":"String Operations","pathname":"/tfhe-rs/1.0/fhe-computation/operations/string-operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"wT8Hzz8k1VC7uX9XhXAi","title":"Core workflow","pathname":"/tfhe-rs/1.0/fhe-computation/compute","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"m4kSrAbYupk15V0LwqL6","title":"Configuration and key generation","pathname":"/tfhe-rs/1.0/fhe-computation/compute/configure-and-generate-keys","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"9anyvHkDFimnxhiQvOi9","title":"Server key","pathname":"/tfhe-rs/1.0/fhe-computation/compute/set-the-server-key","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"yOBRjVRgYraw77UWfWne","title":"Encryption","pathname":"/tfhe-rs/1.0/fhe-computation/compute/encrypt-data","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"h760NjmMKHozUbIifiCu","title":"Decryption","pathname":"/tfhe-rs/1.0/fhe-computation/compute/decrypt-data","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"CNm0xkSFUDOj1k78I0WI","title":"Parameters","pathname":"/tfhe-rs/1.0/fhe-computation/compute/parameters","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"w1JLJZ5fDcIGlkmJIzJc","title":"Data handling","pathname":"/tfhe-rs/1.0/fhe-computation/data-handling","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"OwCVtfh4FrgKOfdyDo1d","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/1.0/fhe-computation/data-handling/compress","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"bTzrYOVHPLLHzfEyovM7","title":"Serialization/deserialization","pathname":"/tfhe-rs/1.0/fhe-computation/data-handling/serialization","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"HHopLZgFOoWKZYiiOU4Z","title":"Data versioning","pathname":"/tfhe-rs/1.0/fhe-computation/data-handling/data_versioning","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"6holzOs5RjBPnwC6OyWr","title":"Advanced features","pathname":"/tfhe-rs/1.0/fhe-computation/advanced-features","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"m1rM1lVt2ViKU7fgQwrd","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/1.0/fhe-computation/advanced-features/encrypted-prf","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"56anOzopGGavF7VReIj7","title":"Overflow detection","pathname":"/tfhe-rs/1.0/fhe-computation/advanced-features/overflow_operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"CYnf8bq45BQO37oWY49E","title":"Public key encryption","pathname":"/tfhe-rs/1.0/fhe-computation/advanced-features/public_key","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"Y4JnkEAV6hUcwksBz5jV","title":"Trivial ciphertexts","pathname":"/tfhe-rs/1.0/fhe-computation/advanced-features/trivial_ciphertext","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"OyR9tlMmDRnn3kjkAuzv","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/1.0/fhe-computation/advanced-features/zk-pok","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"lM1ydDCIHp4eJmY8yF7g","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/1.0/fhe-computation/advanced-features/rayon_crate","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"2Q92pElGn46g3nAZIMKm","title":"Tooling","pathname":"/tfhe-rs/1.0/fhe-computation/tooling","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"420Pgt2thLzIkCXST9zO","title":"PBS statistics","pathname":"/tfhe-rs/1.0/fhe-computation/tooling/pbs-stats","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"MhoXx5SX0unVsfuNZkL1","title":"Generic trait bounds","pathname":"/tfhe-rs/1.0/fhe-computation/tooling/trait_bounds","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"hUiKOxhm5CfpfgBDw3JP","title":"Debugging","pathname":"/tfhe-rs/1.0/fhe-computation/tooling/debug","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"FLTD0379ddfmxbPg6aoa","title":"Advanced Rust setup","pathname":"/tfhe-rs/1.0/configuration/rust_configuration","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"jR1ZZN9hCT2tQy3shRFj","title":"GPU acceleration","pathname":"/tfhe-rs/1.0/configuration/run_on_gpu","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"o03n65hjGNeT9bQIC3VS","title":"Parallelized PBS","pathname":"/tfhe-rs/1.0/configuration/parallelized_pbs","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"V4JYY0eJJyUEI6DtKOfw","title":"JS on WASM API","pathname":"/tfhe-rs/1.0/integration/js_on_wasm_api","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"W00i05aQFxX171cUz7O4","title":"High-level API in C","pathname":"/tfhe-rs/1.0/integration/c_api","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"SwrYrTNUPmMllW0O8Di5","title":"Homomorphic parity bit","pathname":"/tfhe-rs/1.0/tutorials/parity_bit","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"G9oIsglcfgu87uXr6o8u","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/1.0/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"rRpyvped4EdYcQ64oPSJ","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/1.0/tutorials/sha256_bool","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"IyDQCTmwuqzcol9ixDJ0","title":"All tutorials","pathname":"/tfhe-rs/1.0/tutorials/see-all-tutorials","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"WS2OSz1rnDYXtrXdWBOJ","title":"Fine-grained APIs","pathname":"/tfhe-rs/1.0/references/fine-grained-apis","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"WMjlvNz1SHtKafTtLP8B","title":"Quick start","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"EwttnplEykFe2ZFr407s","title":"Boolean","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"At0IPYcNJeRU2ofgP8sR","title":"Operations","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"ZRgRPK9q31Mnjx9EpnsA","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"rx8zD6mm2zGfDfvmy6Vc","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"Limj7fKZAO3RusiLyNin","title":"Shortint","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"G1x4KPFx1hWvoGNtKB4B","title":"Operations","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"y51ihV4soWFl2pA11dQ1","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"INfs3y5uoIMkKPFbY9LW","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"0IZBDzZo7XkpfG6dCL8m","title":"Integer","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/integer","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"LlS159QQ8amMSOFJVPUU","title":"Operations","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"v0CcJtn0PDbmAQRwpmId","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"IGB4J4NrdikFumDePZKb","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.0/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"6fJWUa1o0GD62MHjmMc7","title":"Core crypto API","pathname":"/tfhe-rs/1.0/references/core-crypto-api","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"oXBgtwofauqEdmgYNped","title":"Quick start","pathname":"/tfhe-rs/1.0/references/core-crypto-api/presentation","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"UVvJXfSuIB2b0pShDUDG","title":"Tutorial","pathname":"/tfhe-rs/1.0/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"aFDXjbIoIDc1TV85q6DM","title":"TFHE deep dive","pathname":"/tfhe-rs/1.0/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"vox9k8sROjGwyCh9NW5Q","title":"Contributing","pathname":"/tfhe-rs/1.0/developers/contributing","siteSpaceId":"sitesp_1gizH","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"pmtf6B1shZz2t2DuYcpG","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/1.1","siteSpaceId":"sitesp_U8nlA","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"ebIcJd7L2XTpxWG5hvdA","title":"What is TFHE-rs?","pathname":"/tfhe-rs/1.1/get-started/getting_started","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"zz6yNBFTeZY1mGxFr2wM","title":"Installation","pathname":"/tfhe-rs/1.1/get-started/installation","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"00lhjxBPKqS2ea4EljIP","title":"Quick start","pathname":"/tfhe-rs/1.1/get-started/quick_start","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"Bz9vLIg7eav1vngetIsj","title":"Benchmarks","pathname":"/tfhe-rs/1.1/get-started/benchmarks","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"CJakXd6EA6KJlSYG3zny","title":"CPU Benchmarks","pathname":"/tfhe-rs/1.1/get-started/benchmarks/cpu","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"Jx5dYyzxHErwmY6PAWQT","title":"Integer","pathname":"/tfhe-rs/1.1/get-started/benchmarks/cpu/cpu_integer_operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"oUuyWyuDMO36VY5R6oCy","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.1/get-started/benchmarks/cpu/cpu_programmable_bootstrapping","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"7fz7jPikUey7tuGovobD","title":"GPU Benchmarks","pathname":"/tfhe-rs/1.1/get-started/benchmarks/gpu","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"kgqYyCkFtHYTlSx72sws","title":"Integer","pathname":"/tfhe-rs/1.1/get-started/benchmarks/gpu/gpu_integer_operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"ia0Fw8LZYmSEeNxbt9r1","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.1/get-started/benchmarks/gpu/gpu_programmable_bootstrapping","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"Oko83dK2b8tieBW7cLt8","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/1.1/get-started/benchmarks/zk_proof_benchmarks","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"psRapQtJkIDLkf9H4VZw","title":"Security and cryptography","pathname":"/tfhe-rs/1.1/get-started/security_and_cryptography","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"O4opLhEpN774xy3LPpK6","title":"Types","pathname":"/tfhe-rs/1.1/fhe-computation/types","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"zvTvSwMOfowXoaDg1vJ0","title":"Integer","pathname":"/tfhe-rs/1.1/fhe-computation/types/integer","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"bYez6pm4ZUcwSZ4E8pwn","title":"Strings","pathname":"/tfhe-rs/1.1/fhe-computation/types/strings","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"d5udaNLeTYAqbd8J4kWk","title":"Array","pathname":"/tfhe-rs/1.1/fhe-computation/types/array","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"j5XzexFllNiue7sFDTix","title":"Operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"roqjYaR7k1d49rlHGdYj","title":"Arithmetic operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/arithmetic-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"VUEarx7flM3Fu1z6rXfl","title":"Bitwise operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/bitwise-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"hKjGN3xlHOyCCFmaqU9e","title":"Comparison operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/comparison-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"WfHbvS9e8mx8d21he4U6","title":"Min/Max operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/min-max-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"Pwxs5AwOopIbKTUTYWev","title":"Ternary conditional operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/ternary-conditional-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"112OLgtpKOUNDm7rt2ks","title":"Casting operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/casting-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"IXVotxPUrmqjyvnokevh","title":"Boolean operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/boolean-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"wa7kA5NrylXy8gciOhiU","title":"String operations","pathname":"/tfhe-rs/1.1/fhe-computation/operations/string-operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"z15dFAvdyR8MZWzibMur","title":"Dot product","pathname":"/tfhe-rs/1.1/fhe-computation/operations/dot-product","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"PomTaaQVYd3Dfst94ZoE","title":"Core workflow","pathname":"/tfhe-rs/1.1/fhe-computation/compute","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"RyK0pz6h2g53LftLHuHq","title":"Configuration and key generation","pathname":"/tfhe-rs/1.1/fhe-computation/compute/configure-and-generate-keys","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"2hpg1GQTQMIEpV9WJxix","title":"Server key","pathname":"/tfhe-rs/1.1/fhe-computation/compute/set-the-server-key","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"IFf0joiH1amtuXPjA9wR","title":"Encryption","pathname":"/tfhe-rs/1.1/fhe-computation/compute/encrypt-data","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"DCrwXLcwgyeTWfk7dfKE","title":"Decryption","pathname":"/tfhe-rs/1.1/fhe-computation/compute/decrypt-data","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"3Q8yC0YnvzQednJA34MK","title":"Parameters","pathname":"/tfhe-rs/1.1/fhe-computation/compute/parameters","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"xeMFb9Wypm1JegtMecSG","title":"Data handling","pathname":"/tfhe-rs/1.1/fhe-computation/data-handling","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"F3rcK5OsUIf9XcsG42YD","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/1.1/fhe-computation/data-handling/compress","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"QHlyaFRNRKiHNRGaFozF","title":"Serialization/deserialization","pathname":"/tfhe-rs/1.1/fhe-computation/data-handling/serialization","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"KPVIadsrTrxxhwawE3PX","title":"Data versioning","pathname":"/tfhe-rs/1.1/fhe-computation/data-handling/data_versioning","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"ZFMeeYcUozmsGafrAjml","title":"Advanced features","pathname":"/tfhe-rs/1.1/fhe-computation/advanced-features","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"hpDqx1uBwi6SghrDHPDi","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/1.1/fhe-computation/advanced-features/encrypted-prf","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"0KEKxD5pAkDUTQPNsvki","title":"Overflow detection","pathname":"/tfhe-rs/1.1/fhe-computation/advanced-features/overflow_operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"EVNDky8TDkSOTnaWOCq6","title":"Public key encryption","pathname":"/tfhe-rs/1.1/fhe-computation/advanced-features/public_key","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"mXD3sOrWtCAD29REL8Vl","title":"Trivial ciphertexts","pathname":"/tfhe-rs/1.1/fhe-computation/advanced-features/trivial_ciphertext","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"UcUoEfkFZyUWSFmWGWvz","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/1.1/fhe-computation/advanced-features/zk-pok","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"7PDgK8hFzVzJ1EuYBo6X","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/1.1/fhe-computation/advanced-features/rayon_crate","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"BfGOn6csEQ5AOUqEDFkS","title":"Tooling","pathname":"/tfhe-rs/1.1/fhe-computation/tooling","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"pQSIb4AEK5rqs5arRgeM","title":"PBS statistics","pathname":"/tfhe-rs/1.1/fhe-computation/tooling/pbs-stats","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"Q9Eofns6aw7Hk98zGzyb","title":"Generic trait bounds","pathname":"/tfhe-rs/1.1/fhe-computation/tooling/trait_bounds","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"8BSRpQPamkyEZSEVVh2j","title":"Debugging","pathname":"/tfhe-rs/1.1/fhe-computation/tooling/debug","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"uYMXbRF3rSHTLvoPkkIQ","title":"Advanced Rust setup","pathname":"/tfhe-rs/1.1/configuration/rust_configuration","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"5HueIZSAelMlW08SDbWu","title":"GPU acceleration","pathname":"/tfhe-rs/1.1/configuration/run_on_gpu","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"W8zzQvNuIgdLNV3DBDL3","title":"Operations","pathname":"/tfhe-rs/1.1/configuration/run_on_gpu/gpu_operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"U8BymIuscgBHSEZlMYeT","title":"Benchmark","pathname":"/tfhe-rs/1.1/configuration/run_on_gpu/benchmark","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"3dnvj8XWYa6yA1gLanxI","title":"Compressing ciphertexts","pathname":"/tfhe-rs/1.1/configuration/run_on_gpu/compressing_ciphertexts","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"v4MRMauYfexPGVVQ0iwA","title":"Array types","pathname":"/tfhe-rs/1.1/configuration/run_on_gpu/array_type","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"raNsnO9KmmMXvCl3vuIE","title":"Multi-GPU support","pathname":"/tfhe-rs/1.1/configuration/run_on_gpu/multi_gpu","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"xun3brolaLPJkEua2GCp","title":"Parallelized PBS","pathname":"/tfhe-rs/1.1/configuration/parallelized_pbs","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"X1GyVhlYrAnV1t0bZxGH","title":"JS on WASM API","pathname":"/tfhe-rs/1.1/integration/js_on_wasm_api","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"5G0UUI0PM6PMiQm0AjcA","title":"High-level API in C","pathname":"/tfhe-rs/1.1/integration/c_api","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"a0lqEygpfYzw2XMZ7we2","title":"Homomorphic parity bit","pathname":"/tfhe-rs/1.1/tutorials/parity_bit","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"758FAixxyVaKtbjoRxNd","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/1.1/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"PE28YjBtBP1hOg1515dd","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/1.1/tutorials/sha256_bool","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"zf6dYixgLThBdkGrqvKM","title":"All tutorials","pathname":"/tfhe-rs/1.1/tutorials/see-all-tutorials","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"9PpVxEX8IYPE8dimCrKg","title":"Fine-grained APIs","pathname":"/tfhe-rs/1.1/references/fine-grained-apis","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"67uRfYrlmBCGHC7zgKSg","title":"Quick start","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"hlww6WPmCHMnMpGd5JMB","title":"Boolean","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"c1oKzjXVOJDFU5XPJYf4","title":"Operations","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"Bj0JrMNW53cBmW6An2SX","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"jF7wjfZmCywgWeYh4O45","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"frtUFCXZlWcIOKCDTCCD","title":"Shortint","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"hv4NEhBJxULRNcH4r8wX","title":"Operations","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"kQHWEb4GXNWwRvavDpYg","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"6gtTBD7mYfIY8hUgeU7G","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"XnysNiwp2EGgnFH5GLpw","title":"Integer","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/integer","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"SxdGoCwqFdrQ1QcVu7Od","title":"Operations","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"i7qNCPojJ5KomWXaf7G3","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"i9l7rUYelwsvDIKvfbuA","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.1/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"IboE0Bd1CqBp9xfbVF7N","title":"Core crypto API","pathname":"/tfhe-rs/1.1/references/core-crypto-api","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"t9YkX5JHBpqvisdCQuJX","title":"Quick start","pathname":"/tfhe-rs/1.1/references/core-crypto-api/presentation","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"XsFw9z6XguzRN2Sg3aFN","title":"Tutorial","pathname":"/tfhe-rs/1.1/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"jME9GpPuoJgG5ai1FpG3","title":"TFHE deep dive","pathname":"/tfhe-rs/1.1/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"gx9Xm1FZ5zvKiLECgYqJ","title":"Contributing","pathname":"/tfhe-rs/1.1/developers/contributing","siteSpaceId":"sitesp_U8nlA","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"NknWIL45d3vbZF8QkE62","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/1.2","siteSpaceId":"sitesp_Vt2Az","description":"TFHE-rs is a pure Rust implementation of TFHE for Boolean and integer arithmetics over encrypted data. It includes a Rust and C API, as well as a client-side WASM API.","breadcrumbs":[{"label":"Documentation"}]},{"id":"J0G41d3KOT6WoRcOzu5z","title":"What is TFHE-rs?","pathname":"/tfhe-rs/1.2/get-started/getting_started","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"bSNWPWAuROaxp4bWz0T4","title":"Installation","pathname":"/tfhe-rs/1.2/get-started/installation","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"HkZbSXzQPEKO3RRIjXSn","title":"Quick start","pathname":"/tfhe-rs/1.2/get-started/quick_start","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"zKYJrh6Px2qTL3ct73Yc","title":"Benchmarks","pathname":"/tfhe-rs/1.2/get-started/benchmarks","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"p8HpAnvk2J2qMyj1cAPF","title":"CPU Benchmarks","pathname":"/tfhe-rs/1.2/get-started/benchmarks/cpu","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"duL058LWMSxgkxDsoyHo","title":"Integer","pathname":"/tfhe-rs/1.2/get-started/benchmarks/cpu/cpu_integer_operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"bRV5f3CMAkQ69nWHISZ1","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.2/get-started/benchmarks/cpu/cpu_programmable_bootstrapping","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"OEe9DCca9JPLXjLLDoBm","title":"GPU Benchmarks","pathname":"/tfhe-rs/1.2/get-started/benchmarks/gpu","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"WV9SuEamjtxe45R15Fzb","title":"Integer","pathname":"/tfhe-rs/1.2/get-started/benchmarks/gpu/gpu_integer_operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"gQk1lu0w3l1IFrpLd1L5","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.2/get-started/benchmarks/gpu/gpu_programmable_bootstrapping","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"bf08J2PMxG41sZf5asf9","title":"HPU Benchmarks","pathname":"/tfhe-rs/1.2/get-started/benchmarks/hpu","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"zVHkQjMiVDC6QFUG9vw1","title":"Integer","pathname":"/tfhe-rs/1.2/get-started/benchmarks/hpu/hpu_integer_operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"B055It1eFhQCi4QWk13C","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/1.2/get-started/benchmarks/zk_proof_benchmarks","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"F2vqbi4vzHLmPGi1cnt9","title":"Security and cryptography","pathname":"/tfhe-rs/1.2/get-started/security_and_cryptography","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"kmHcdmSuhDBOgRA5g83N","title":"Types","pathname":"/tfhe-rs/1.2/fhe-computation/types","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"W5DuCU8UnuP95nvshcYU","title":"Integer","pathname":"/tfhe-rs/1.2/fhe-computation/types/integer","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"P5Fiey17hU6u1MtJsDFl","title":"Strings","pathname":"/tfhe-rs/1.2/fhe-computation/types/strings","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"DoMo6cNobI8960UOILlL","title":"Array","pathname":"/tfhe-rs/1.2/fhe-computation/types/array","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"5xTyqgkBH2KylMgpnQbU","title":"Operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"lSuBBBjs9nDabeqZ5eB5","title":"Arithmetic operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/arithmetic-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"gousqNifydwdMyHMMqq8","title":"Bitwise operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/bitwise-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"QefuoACUMqCrdQYHCuBr","title":"Comparison operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/comparison-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"kshLFJAe5LtdIP1YBQtd","title":"Min/Max operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/min-max-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"DCA2STVksjt9d3e1H98Y","title":"Ternary conditional operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/ternary-conditional-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"fipz2eh65J26AD0xNJFe","title":"Casting operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/casting-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"6lyPFSru1VRyagrHc52g","title":"Boolean operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/boolean-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"nmMm7THF4R7TKrqiA6qG","title":"String operations","pathname":"/tfhe-rs/1.2/fhe-computation/operations/string-operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"vuZ8KDJcm7K8MJm0QrwP","title":"Dot product","pathname":"/tfhe-rs/1.2/fhe-computation/operations/dot-product","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"8ESCRKkUHoJDIJ5L0M9n","title":"Core workflow","pathname":"/tfhe-rs/1.2/fhe-computation/compute","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"PLEfd0k76v1bTF8VN21J","title":"Configuration and key generation","pathname":"/tfhe-rs/1.2/fhe-computation/compute/configure-and-generate-keys","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"iPus6j17QQPvR2EWbIIE","title":"Server key","pathname":"/tfhe-rs/1.2/fhe-computation/compute/set-the-server-key","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"DuQMJwdJxJrrJL3U4Hjw","title":"Encryption","pathname":"/tfhe-rs/1.2/fhe-computation/compute/encrypt-data","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"dBZRZFHI6HGY5tkNtGFL","title":"Decryption","pathname":"/tfhe-rs/1.2/fhe-computation/compute/decrypt-data","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"PTqMNxPXHCbYLvSa5cHG","title":"Parameters","pathname":"/tfhe-rs/1.2/fhe-computation/compute/parameters","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"1t9NJGMSK3xzIrLgQuBC","title":"Data handling","pathname":"/tfhe-rs/1.2/fhe-computation/data-handling","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"WhxwSLMlZCDGkpOiUzqG","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/1.2/fhe-computation/data-handling/compress","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"XqvYp7sMXgw4MSx7s4I3","title":"Serialization/deserialization","pathname":"/tfhe-rs/1.2/fhe-computation/data-handling/serialization","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"1KwE7w6rZQAREkl4C4KO","title":"Data versioning","pathname":"/tfhe-rs/1.2/fhe-computation/data-handling/data_versioning","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"PJSYsYkUHmREFILZ25S1","title":"Advanced features","pathname":"/tfhe-rs/1.2/fhe-computation/advanced-features","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"QJAsMBvuapDp8Zuh9N7D","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/1.2/fhe-computation/advanced-features/encrypted-prf","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"VcX3KDeTri3P5DlvQir1","title":"Overflow detection","pathname":"/tfhe-rs/1.2/fhe-computation/advanced-features/overflow_operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"jfo9GNW7aZQkc5u0sD6N","title":"Public key encryption","pathname":"/tfhe-rs/1.2/fhe-computation/advanced-features/public_key","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"TvrhfQNC9zE68bsYqO0D","title":"Trivial ciphertexts","pathname":"/tfhe-rs/1.2/fhe-computation/advanced-features/trivial_ciphertext","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"Hx1UnLckGZut0MzY7MNE","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/1.2/fhe-computation/advanced-features/zk-pok","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"Dq0JlEOLHx1lpXKwOGHm","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/1.2/fhe-computation/advanced-features/rayon_crate","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"cwGBVE5WssEI7gvneuDh","title":"Tooling","pathname":"/tfhe-rs/1.2/fhe-computation/tooling","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"uKtdIjnr8fQmUDIcRPi5","title":"PBS statistics","pathname":"/tfhe-rs/1.2/fhe-computation/tooling/pbs-stats","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"RJL1JkPunABmYRqOCd0Y","title":"Generic trait bounds","pathname":"/tfhe-rs/1.2/fhe-computation/tooling/trait_bounds","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"8iwOBJcp4LB1wRRA4elM","title":"Debugging","pathname":"/tfhe-rs/1.2/fhe-computation/tooling/debug","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"2JQSsGMY5iEJ1WDfwJ9J","title":"Advanced Rust setup","pathname":"/tfhe-rs/1.2/configuration/rust_configuration","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"5sv7nsCADruJeP069Z8Y","title":"GPU acceleration","pathname":"/tfhe-rs/1.2/configuration/run_on_gpu","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"qiqdz5R3dQKitNYP9Xyk","title":"Operations","pathname":"/tfhe-rs/1.2/configuration/run_on_gpu/gpu_operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"nQ3KmS9aNEfIp2DvDJYy","title":"Benchmark","pathname":"/tfhe-rs/1.2/configuration/run_on_gpu/benchmark","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"jxXLzKrP9iEt9fhxW5du","title":"Compressing ciphertexts","pathname":"/tfhe-rs/1.2/configuration/run_on_gpu/compressing_ciphertexts","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"lKMGSVUvsfQB5mYP7sOV","title":"Array types","pathname":"/tfhe-rs/1.2/configuration/run_on_gpu/array_type","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"ulq7tgCj02owaAjWrxsI","title":"Multi-GPU support","pathname":"/tfhe-rs/1.2/configuration/run_on_gpu/multi_gpu","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"GPU acceleration"}]},{"id":"AqovSbLuBmAAK4ozBMUo","title":"HPU acceleration","pathname":"/tfhe-rs/1.2/configuration/run_on_hpu","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"uy2sMjWbHvRsBCeLfbqz","title":"Benchmark","pathname":"/tfhe-rs/1.2/configuration/run_on_hpu/benchmark","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"},{"label":"HPU acceleration"}]},{"id":"3J8ZooiDg8FJMZUGEG7y","title":"Parallelized PBS","pathname":"/tfhe-rs/1.2/configuration/parallelized_pbs","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"0A9ZfSL6CNX2P6qQzH3g","title":"JS on WASM API","pathname":"/tfhe-rs/1.2/integration/js_on_wasm_api","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"7TdYwCb4hRAT582m8Ix5","title":"High-level API in C","pathname":"/tfhe-rs/1.2/integration/c_api","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"ongNXDmFzhXrDFtJK1ga","title":"Homomorphic parity bit","pathname":"/tfhe-rs/1.2/tutorials/parity_bit","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"3gAj9UNY8F5rBbqOAvNT","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/1.2/tutorials/ascii_fhe_string","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"yBpUzBx7rA5dZFnlwqbG","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/1.2/tutorials/sha256_bool","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"zhIcyHi03oA7pLlQfw8a","title":"All tutorials","pathname":"/tfhe-rs/1.2/tutorials/see-all-tutorials","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"zq2ydNXPCgY04bMvs6zj","title":"Fine-grained APIs","pathname":"/tfhe-rs/1.2/references/fine-grained-apis","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"8ZzAcAGx6yAqECKG6RxD","title":"Quick start","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/quick_start","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"8DTrzNGvEo2IohIeL6N8","title":"Boolean","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"pXMgco7ecRMWZdvhpjSs","title":"Operations","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"V53fG1VGv5q7JSqzKksD","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"a4CAkPuShsvxa2QNwz9u","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"i7Rk2Mrs4v6brKltPJXK","title":"Shortint","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"I4OIwtOLj6FIYEIbKJk7","title":"Operations","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"zDhcowQNqg0pMTCF2SEH","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"1zmYghOd1nLHMebvWg45","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"afUvAnu2Rk61vedyoLw5","title":"Integer","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/integer","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"rxHBMvFfl0TzajSr1nl6","title":"Operations","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"IaJSUyZznYlRu7kGAGP8","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"iI3Jp856cwuE0lTXpiZu","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.2/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"fP2UXfcBFgEqJM3OubjJ","title":"Core crypto API","pathname":"/tfhe-rs/1.2/references/core-crypto-api","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"jkhX5FhHrsGwuOKGmrLT","title":"Quick start","pathname":"/tfhe-rs/1.2/references/core-crypto-api/presentation","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"RbAFeN2sa0YzEqTGcm1X","title":"Tutorial","pathname":"/tfhe-rs/1.2/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"qPx73bvF4VYZ8Zr9AfQA","title":"TFHE deep dive","pathname":"/tfhe-rs/1.2/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"1NLPCFvoCcgoFFWBqqBG","title":"Contributing","pathname":"/tfhe-rs/1.2/developers/contributing","siteSpaceId":"sitesp_Vt2Az","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"w1NuQehEIuRoTZqb297S","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/1.3","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"vEFVhG6ZqZ3Kb7CwXIPr","title":"What is TFHE-rs?","pathname":"/tfhe-rs/1.3/get-started/getting-started","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"5xNRBePqyzAOBhWqDkXt","title":"Installation","pathname":"/tfhe-rs/1.3/get-started/installation","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"UPEAayH5bdKXpDeFexsa","title":"Quick start","pathname":"/tfhe-rs/1.3/get-started/quick-start","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"E4XrQQm0sr4YGOW0ijgM","title":"Benchmarks","pathname":"/tfhe-rs/1.3/get-started/benchmarks","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"5HUSu74VYzFnM8eBArLa","title":"CPU Benchmarks","pathname":"/tfhe-rs/1.3/get-started/benchmarks/cpu","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"YeFXxbQmTWRh5g2ZfWFO","title":"Integer","pathname":"/tfhe-rs/1.3/get-started/benchmarks/cpu/cpu-integer-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"2KxYHFGsHCtUgMT793d5","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.3/get-started/benchmarks/cpu/cpu-programmable-bootstrapping","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"s44yCCHNsIIprD5dDhbZ","title":"GPU Benchmarks","pathname":"/tfhe-rs/1.3/get-started/benchmarks/gpu","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"qJPBtcx3bByOwBBOO5gw","title":"Integer","pathname":"/tfhe-rs/1.3/get-started/benchmarks/gpu/gpu-integer-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"Z1I0lwfD7AOKhQWXPVYZ","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.3/get-started/benchmarks/gpu/gpu-programmable-bootstrapping","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"k51WU0Xn42tXXK07iU57","title":"HPU Benchmarks","pathname":"/tfhe-rs/1.3/get-started/benchmarks/hpu","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"kv7uVqEOlBIoSW7SeK4e","title":"Integer","pathname":"/tfhe-rs/1.3/get-started/benchmarks/hpu/hpu-integer-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"i1s4vQECEGdBvd0hHvc9","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/1.3/get-started/benchmarks/zk-proof-benchmarks","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"gIEXFHFzf8AGU2jSF8JZ","title":"Security and cryptography","pathname":"/tfhe-rs/1.3/get-started/security-and-cryptography","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"1EjAIMA3KTOj6XgipoMy","title":"Types","pathname":"/tfhe-rs/1.3/fhe-computation/types","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"7MjrI7kmjLwTjyJjf3Qz","title":"Integer","pathname":"/tfhe-rs/1.3/fhe-computation/types/integer","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"im1Rw55K3be15Imvd1Jt","title":"Strings","pathname":"/tfhe-rs/1.3/fhe-computation/types/strings","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"w0bZ3cSro0o4Mf4plqTx","title":"Array","pathname":"/tfhe-rs/1.3/fhe-computation/types/array","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"2WOkgK1R8tj3v8rb1kmv","title":"Operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"VQs8gNkIhQUa8oAFYWLg","title":"Arithmetic operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/arithmetic-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"0AktmeWfmw0r8Gelqyum","title":"Bitwise operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/bitwise-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"dnLnKXHujRGhVsolUlDj","title":"Comparison operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/comparison-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"PwhMbru1Sgx3oIehO7YJ","title":"Min/Max operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/min-max-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"BsYh9qRjX8aOlALWgurv","title":"Ternary conditional operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/ternary-conditional-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"2KkoDSwqc3F5IkKN2N1U","title":"Casting operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/casting-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"mAYtP7MudVyre6FHbdGM","title":"Boolean operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/boolean-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"KEQiYw5B9NRiSgVkZSFv","title":"String operations","pathname":"/tfhe-rs/1.3/fhe-computation/operations/string-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"iwES5GHHbvlBbLxyvBNs","title":"Dot product","pathname":"/tfhe-rs/1.3/fhe-computation/operations/dot-product","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"BydKsETTfPfPLlhhtXPX","title":"Core workflow","pathname":"/tfhe-rs/1.3/fhe-computation/compute","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"Otmg0B8rSQKH2UGM8SUm","title":"Configuration and key generation","pathname":"/tfhe-rs/1.3/fhe-computation/compute/configure-and-generate-keys","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"NjFhZPZ9Qebh42ccEIgN","title":"Server key","pathname":"/tfhe-rs/1.3/fhe-computation/compute/set-the-server-key","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"0cJuwKUZMh6r5vpo0A5R","title":"Encryption","pathname":"/tfhe-rs/1.3/fhe-computation/compute/encrypt-data","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"j8N2RlylucaTeuiov1P2","title":"Decryption","pathname":"/tfhe-rs/1.3/fhe-computation/compute/decrypt-data","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"cAdy7PuZWXV3mTkfNuE2","title":"Parameters","pathname":"/tfhe-rs/1.3/fhe-computation/compute/parameters","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"ONyaaZ4FRknFWzyAQE8b","title":"Data handling","pathname":"/tfhe-rs/1.3/fhe-computation/data-handling","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"XdBdGBEEKHsHw61eUMik","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/1.3/fhe-computation/data-handling/compress","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"O2nly25xcRE2KRLj1RHa","title":"Serialization/deserialization","pathname":"/tfhe-rs/1.3/fhe-computation/data-handling/serialization","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"O191IrI5WRsJtG6Nu9Hn","title":"Data versioning","pathname":"/tfhe-rs/1.3/fhe-computation/data-handling/data-versioning","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"7P1pgEDMLq5j2DeRO7Y3","title":"Advanced features","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"PMKPyzzbObBwqkbp5on4","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/encrypted-prf","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"gjI9Hc7L4TW8P1U47CXS","title":"Overflow detection","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/overflow-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"Sxx7YckKWUgllsjuOo9F","title":"Public key encryption","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/public-key","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"vWEFpricqIoOG0kI50x2","title":"Trivial ciphertexts","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/trivial-ciphertext","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"90Em3F8KLhGti2HQAoJN","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/zk-pok","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"l9vKpcH9vmlsd2nG7ONc","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/rayon-crate","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"MUYIpiz5VQbP0u8Gcc6t","title":"Noise squashing","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/noise-squashing","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"IW1u4OXrvXtA9pfD36NZ","title":"Key upgrade","pathname":"/tfhe-rs/1.3/fhe-computation/advanced-features/upgrade-key-chain","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"SRHILG0CETraz4URFgUY","title":"Tooling","pathname":"/tfhe-rs/1.3/fhe-computation/tooling","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"ld2x6RQoploR1SsYlpxv","title":"PBS statistics","pathname":"/tfhe-rs/1.3/fhe-computation/tooling/pbs-stats","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"NhGvQ8zX2lm8bbrmht6X","title":"Generic trait bounds","pathname":"/tfhe-rs/1.3/fhe-computation/tooling/trait-bounds","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"12379aMWyKYmoPj0wnkH","title":"Debugging","pathname":"/tfhe-rs/1.3/fhe-computation/tooling/debug","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"wRMHOOsHL6lNlnwdgxWu","title":"GPU acceleration","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-gpu","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"MqaVtvcqKnpGTxrhCJr0","title":"A simple example","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-gpu/simple-example","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"91MopyC0hnzFykKZDPgB","title":"Operations","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-gpu/gpu-operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"iFU7HVOqdHgsDycgaWe7","title":"Compressing ciphertexts","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-gpu/compressing-ciphertexts","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"Cuewhg0ETtMZO4QLkl8q","title":"Array types","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-gpu/array-type","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"jVEbazQXrKOq0q4bT1OW","title":"ZK-POKs","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-gpu/zk-pok","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"GBycw0KXRMOvP8td4vqQ","title":"Multi-GPU support","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-gpu/multi-gpu","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"R8Eo1pefAGb1HOw0lluo","title":"HPU acceleration","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-hpu","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"c03SN1S8H9ufQ3E9iLJL","title":"Benchmark","pathname":"/tfhe-rs/1.3/hardware-acceleration/run-on-hpu/benchmark","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"HPU acceleration"}]},{"id":"lrwObsOoACcuCBwz9YCl","title":"Advanced Rust setup","pathname":"/tfhe-rs/1.3/configuration/rust-configuration","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"I1dlRasN6dDF9ECCY045","title":"Parallelized PBS","pathname":"/tfhe-rs/1.3/configuration/parallelized-pbs","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"vKZyOTQM3m7ee6qpBgmF","title":"JS on WASM API","pathname":"/tfhe-rs/1.3/integration/js-on-wasm-api","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"pbmrUvCw14GaydjpBwoZ","title":"High-level API in C","pathname":"/tfhe-rs/1.3/integration/c-api","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"yeGpm6M4JFaCTYoskRMr","title":"Homomorphic parity bit","pathname":"/tfhe-rs/1.3/tutorials/parity-bit","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"ejuWXN8CFsj1whqqSTM7","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/1.3/tutorials/ascii-fhe-string","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"d7lJOxOggZudRYaSJE08","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/1.3/tutorials/sha256-bool","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"B43O2pdfFUpTYMDKNVUK","title":"All tutorials","pathname":"/tfhe-rs/1.3/tutorials/see-all-tutorials","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"iwhlFuxYDgaJlsJhrsIw","title":"Fine-grained APIs","pathname":"/tfhe-rs/1.3/references/fine-grained-apis","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"nJGXxkGgTrSbgZanGuDO","title":"Quick start","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/quick-start","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"28UBj4EN7RNnUMfiqIh4","title":"Boolean","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"eMwwS5YyUZEf1IF6QHwY","title":"Operations","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"9zG3ggU83ZRutDe0YyO1","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"8zexPKwAHKU1mLNOJSji","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"iZUQPIsO3wbLcpVurXzh","title":"Shortint","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"2XYk5y17Hjx8jfE9EnTD","title":"Operations","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"1TQCFQKiexuyQ0OeDRf3","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"yUGHx1Zqne3xmISidu13","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"9dxpEa4CRb80hA0opgls","title":"Integer","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/integer","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"7AI1nYyEwZ8IAcfke07n","title":"Operations","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"5YCjzeqacWZS0Yh2WsVD","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"tIKmKwIv5Zt3e61EQew3","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.3/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"cceiLM8S03izpSURes8N","title":"Core crypto API","pathname":"/tfhe-rs/1.3/references/core-crypto-api","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"W2ihzYjgOeCGwCYK7b0M","title":"Quick start","pathname":"/tfhe-rs/1.3/references/core-crypto-api/presentation","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"zsI4SsFA2WutkjaI0jXe","title":"Tutorial","pathname":"/tfhe-rs/1.3/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"6AUitPnO4q0RLYingwWs","title":"TFHE deep dive","pathname":"/tfhe-rs/1.3/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"XvLYIrFQRgyvxcYJZhDu","title":"Contributing","pathname":"/tfhe-rs/1.3/developers/contributing","siteSpaceId":"sitesp_pu7mP","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"hOMvY6h9VzahDLjpeZ4k","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/1.4","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"taplAomdrzdUQaAou6ra","title":"What is TFHE-rs?","pathname":"/tfhe-rs/1.4/get-started/getting-started","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"MABT2iXCbaPhqqLFqSGS","title":"Installation","pathname":"/tfhe-rs/1.4/get-started/installation","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"evZGudedXxutDvAgz2Xf","title":"Quick start","pathname":"/tfhe-rs/1.4/get-started/quick-start","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"vVkslg08g5kk1kRn18K1","title":"Benchmarks","pathname":"/tfhe-rs/1.4/get-started/benchmarks","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"nfWj7kkQwnhNC8xmWvcO","title":"CPU Benchmarks","pathname":"/tfhe-rs/1.4/get-started/benchmarks/cpu","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"B5iRuaEuiY832R3xGXy0","title":"Integer","pathname":"/tfhe-rs/1.4/get-started/benchmarks/cpu/cpu-integer-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"HysPpjmPe1lLk7A2lkRW","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.4/get-started/benchmarks/cpu/cpu-programmable-bootstrapping","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"LXDMn0f2Xc7wE8uNUODP","title":"GPU Benchmarks","pathname":"/tfhe-rs/1.4/get-started/benchmarks/gpu","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"aDtzuFjEwjgZRANkHKdT","title":"Integer","pathname":"/tfhe-rs/1.4/get-started/benchmarks/gpu/gpu-integer-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"VXdCH9sJD2yatEczWxfE","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.4/get-started/benchmarks/gpu/gpu-programmable-bootstrapping","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"LQ2INdB78xrY6Z4nadw3","title":"HPU Benchmarks","pathname":"/tfhe-rs/1.4/get-started/benchmarks/hpu","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"qG45h3Dr1pRsR6bmGlMZ","title":"Integer","pathname":"/tfhe-rs/1.4/get-started/benchmarks/hpu/hpu-integer-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"J2yVM4eCSFFyJoJcVnYR","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/1.4/get-started/benchmarks/zk-proof-benchmarks","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"muYagEYL6kOd705xVOCG","title":"Security and cryptography","pathname":"/tfhe-rs/1.4/get-started/security-and-cryptography","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"XF5DwKmSatFMPuhBnLKg","title":"Types","pathname":"/tfhe-rs/1.4/fhe-computation/types","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"lcKTuCAhv0eWdpKpgDBP","title":"Integer","pathname":"/tfhe-rs/1.4/fhe-computation/types/integer","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"4osKrNlvQQfcILQjYjrO","title":"Strings","pathname":"/tfhe-rs/1.4/fhe-computation/types/strings","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"NbjjF5kn4cYrp47gAjdG","title":"Array","pathname":"/tfhe-rs/1.4/fhe-computation/types/array","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"yM2P3afZ6D1QaeglBiHg","title":"KVStore","pathname":"/tfhe-rs/1.4/fhe-computation/types/kv-store","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"l5W1DXfakWU6ObUpTlE5","title":"Operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"2xzopiUspPPH4XZTmp6L","title":"Arithmetic operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/arithmetic-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"RlVqpxKsQkMdRxI6D4MN","title":"Bitwise operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/bitwise-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"O2WR4mf7u7NsGQlhEGfx","title":"Comparison operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/comparison-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"uzqW3Qt7gTmLGqFsiRFS","title":"Min/Max operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/min-max-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"dmqkUZJ9npiJBWh8V9Z6","title":"Ternary conditional operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/ternary-conditional-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"zoaNejnrNdO1qkLXdiPF","title":"Casting operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/casting-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"vNEyBKOkiQjUoQFhppIo","title":"Boolean operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/boolean-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"zal8DWZVyOsXE0Ik9FOE","title":"String operations","pathname":"/tfhe-rs/1.4/fhe-computation/operations/string-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"qN1vKX5WDLGvaLWf61Ii","title":"Dot product","pathname":"/tfhe-rs/1.4/fhe-computation/operations/dot-product","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"K9AsyjPRZoCTzlR5Uo1a","title":"Core workflow","pathname":"/tfhe-rs/1.4/fhe-computation/compute","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"dTnaX4acms53K769cgaq","title":"Configuration and key generation","pathname":"/tfhe-rs/1.4/fhe-computation/compute/configure-and-generate-keys","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"miPMTxfxVPh3CxQJQ6lN","title":"Server key","pathname":"/tfhe-rs/1.4/fhe-computation/compute/set-the-server-key","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"cqjmJ4jCFv9jDtMckF8a","title":"Encryption","pathname":"/tfhe-rs/1.4/fhe-computation/compute/encrypt-data","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"O4U1f5OfNon2Xi54BgYo","title":"Decryption","pathname":"/tfhe-rs/1.4/fhe-computation/compute/decrypt-data","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"1VSE9YD6ZkOBB8ZwmcHJ","title":"Parameters","pathname":"/tfhe-rs/1.4/fhe-computation/compute/parameters","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"hlqXdXXdlUuxHffABKBc","title":"Data handling","pathname":"/tfhe-rs/1.4/fhe-computation/data-handling","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"LSVWXQXCVMYrc4uTTyqJ","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/1.4/fhe-computation/data-handling/compress","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"4x3OuIZq8VIbJcmx97Ht","title":"Serialization/deserialization","pathname":"/tfhe-rs/1.4/fhe-computation/data-handling/serialization","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"WJtef0jQdJqlt5poAGK4","title":"Data versioning","pathname":"/tfhe-rs/1.4/fhe-computation/data-handling/data-versioning","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"f8H3nrxer3M9Z8WQhulR","title":"Advanced features","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"MIRodfndVQOjHF2ZXnr6","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/encrypted-prf","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"yq8J85iAf2WYNywGw9p5","title":"Overflow detection","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/overflow-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"XZyrdVhLtQzKkzRF0NQ9","title":"Public key encryption","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/public-key","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"EHEqji88rkJXSjYOJN3m","title":"Trivial ciphertexts","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/trivial-ciphertext","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"5Lefd8aULS8Yhjh9Npkh","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/zk-pok","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"gduY3Lv42t6fpThvDgBh","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/rayon-crate","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"I9WW9c9LAu3XjygCy0KM","title":"Noise squashing","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/noise-squashing","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"8E11JOfrnmgArF5gC2Vj","title":"Key upgrade","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/upgrade-key-chain","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"V0Z4vpzXHpM1WyzTKb8K","title":"Ciphertexts Rerandomization","pathname":"/tfhe-rs/1.4/fhe-computation/advanced-features/rerand","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"kY7os6mAHie4BuXDs9wS","title":"Tooling","pathname":"/tfhe-rs/1.4/fhe-computation/tooling","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"P4zJZrytdCxqtsrr2pei","title":"PBS statistics","pathname":"/tfhe-rs/1.4/fhe-computation/tooling/pbs-stats","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"A6GAJHNEds4DvcKNX8p9","title":"Generic trait bounds","pathname":"/tfhe-rs/1.4/fhe-computation/tooling/trait-bounds","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"Z5wT6OLOnnmqyrOKtBMO","title":"Debugging","pathname":"/tfhe-rs/1.4/fhe-computation/tooling/debug","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"Gt5FWNdpAnv2fI6hlvP5","title":"GPU acceleration","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-gpu","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"ppseevzz2rybw0uLpAT3","title":"A simple example","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-gpu/simple-example","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"jpLjmR4WygRfu76RFRHC","title":"Operations","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-gpu/gpu-operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"G3qqp1VMZEGZwDJzPcg1","title":"Compressing ciphertexts","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-gpu/compressing-ciphertexts","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"fFZs2Eaw7TyoyzRSEl47","title":"Array types","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-gpu/array-type","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"0PTcVARF9cvMTcPxUsiF","title":"ZK-POKs","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-gpu/zk-pok","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"QixEgBLGfTPHHyk7av3S","title":"Multi-GPU support","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-gpu/multi-gpu","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"WIcHyxNHQ0W7r9TC0b2w","title":"HPU acceleration","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-hpu","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"Sjk1Dr67hS7UQwXGqz1J","title":"Benchmark","pathname":"/tfhe-rs/1.4/hardware-acceleration/run-on-hpu/benchmark","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"HPU acceleration"}]},{"id":"18yAxyDWGK8UfvHWaofg","title":"Advanced Rust setup","pathname":"/tfhe-rs/1.4/configuration/rust-configuration","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"VbFzsjowlJM02Ou2Tth7","title":"Parallelized PBS","pathname":"/tfhe-rs/1.4/configuration/parallelized-pbs","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"jiHs20L4bjyRY81jD5cv","title":"JS on WASM API","pathname":"/tfhe-rs/1.4/integration/js-on-wasm-api","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"hsLoyRAwy00eyoBQsz3r","title":"High-level API in C","pathname":"/tfhe-rs/1.4/integration/c-api","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"cN4SXsCJ3D897iua82wR","title":"Homomorphic parity bit","pathname":"/tfhe-rs/1.4/tutorials/parity-bit","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"x6tB32PdC3BepdPLsXeK","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/1.4/tutorials/ascii-fhe-string","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"cdFSJSzSyrNFfRhhsua3","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/1.4/tutorials/sha256-bool","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"Bh91IdMi1mIWkislMwBt","title":"All tutorials","pathname":"/tfhe-rs/1.4/tutorials/see-all-tutorials","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"SD3WqJyFovpOFU5vDT0r","title":"Fine-grained APIs","pathname":"/tfhe-rs/1.4/references/fine-grained-apis","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"MddD1FhgPSPFDeI3w9zL","title":"Quick start","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/quick-start","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"h1Fw7BjGPOBNEfiPTmac","title":"Boolean","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"IzKKeOxQk2UzWrBKVaED","title":"Operations","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"2hrDUQ5HjhiEycmYOWuq","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"yAyhOQpJkyt1ezr1AqF8","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"Cl984whYJE0WVt7jGFxF","title":"Shortint","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"A8IC3nNG5iMQKjHqbpoq","title":"Operations","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"lUzBUEdR3lXvCRHfhBUC","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"b5HFxpXLHVpCb6cRrmGB","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"6DyVLq35iPw0ov4MC1Si","title":"Integer","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/integer","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"jd09ZrA43fag9pgkO8d0","title":"Operations","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"7DqYrzmsLvDYTItylpVo","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"LjRwzXBnDjyaMRw1VLYE","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.4/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"2GEUMI10sjkEjJKgOKV6","title":"Core crypto API","pathname":"/tfhe-rs/1.4/references/core-crypto-api","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"8br7ehjUiGIwx0atVOXj","title":"Quick start","pathname":"/tfhe-rs/1.4/references/core-crypto-api/presentation","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"EBZ900cObKCcuHwjqLXG","title":"Tutorial","pathname":"/tfhe-rs/1.4/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"fksMzhf4G75A3JjpmlUH","title":"TFHE deep dive","pathname":"/tfhe-rs/1.4/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"0JtuGiP613Bs6leHATK4","title":"Contributing","pathname":"/tfhe-rs/1.4/developers/contributing","siteSpaceId":"sitesp_8dJya","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"WdCkdyjl0Ru9LJZQMUWp","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs/1.5","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"QUsFwrcWHAEbN8ZsWLOm","title":"What is TFHE-rs?","pathname":"/tfhe-rs/1.5/get-started/getting-started","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"oGbr3ulefHivvBlaFUYV","title":"Installation","pathname":"/tfhe-rs/1.5/get-started/installation","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"AW2ykAlkd3hNTuo45SGF","title":"Quick start","pathname":"/tfhe-rs/1.5/get-started/quick-start","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"HT7XyGGpvW3DlsEuHNXb","title":"Benchmarks","pathname":"/tfhe-rs/1.5/get-started/benchmarks","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"PQKpot1cL61cDuad8roQ","title":"CPU Benchmarks","pathname":"/tfhe-rs/1.5/get-started/benchmarks/cpu","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"OeyUGTfbAs0feWSQfKl8","title":"Integer","pathname":"/tfhe-rs/1.5/get-started/benchmarks/cpu/cpu-integer-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"2TxuhF3D1DtHFn6F6c1P","title":"ERC20","pathname":"/tfhe-rs/1.5/get-started/benchmarks/cpu/cpu-erc20","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"1ktsZ0bL5E32yzWOcYrJ","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.5/get-started/benchmarks/cpu/cpu-programmable-bootstrapping","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"TKQJczfss0f6nx8PgoLg","title":"GPU Benchmarks","pathname":"/tfhe-rs/1.5/get-started/benchmarks/gpu","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"SWxsLahZ4LZK51kno9Z6","title":"Integer","pathname":"/tfhe-rs/1.5/get-started/benchmarks/gpu/gpu-integer-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"CKM1R9zgFKd7k878ZqrE","title":"ERC20","pathname":"/tfhe-rs/1.5/get-started/benchmarks/gpu/gpu-erc20","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"yKQKlzrNXNeJEpEmgZTK","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.5/get-started/benchmarks/gpu/gpu-programmable-bootstrapping","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"wARNzD3Ra7Kofb4VdqTy","title":"HPU Benchmarks","pathname":"/tfhe-rs/1.5/get-started/benchmarks/hpu","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"KGzK1suvplJUGinolvUd","title":"Integer","pathname":"/tfhe-rs/1.5/get-started/benchmarks/hpu/hpu-integer-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"3N3c8FzaCgkefoODo7cl","title":"ERC20","pathname":"/tfhe-rs/1.5/get-started/benchmarks/hpu/hpu-erc20","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"NBa09VKW5lbn4kQNcwZP","title":"Programmable bootstrapping","pathname":"/tfhe-rs/1.5/get-started/benchmarks/hpu/hpu-programmable-bootstrapping","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"iif2aV7ZPwD52pYiayKd","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/1.5/get-started/benchmarks/zk-proof-benchmarks","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"bOo0NdHxYlQuM9ZYhog6","title":"Security and cryptography","pathname":"/tfhe-rs/1.5/get-started/security-and-cryptography","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"vf1IA5qSliqyHz1UMBRr","title":"Types","pathname":"/tfhe-rs/1.5/fhe-computation/types","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"iW9QlfpIobyy9qapIKpw","title":"Integer","pathname":"/tfhe-rs/1.5/fhe-computation/types/integer","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"o6ketX6oLrdoXtgFIN81","title":"Strings","pathname":"/tfhe-rs/1.5/fhe-computation/types/strings","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"zsiyuIFG31PCRKRjHiQz","title":"Array","pathname":"/tfhe-rs/1.5/fhe-computation/types/array","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"RVxcxtTmtNdktboOKzd1","title":"KVStore","pathname":"/tfhe-rs/1.5/fhe-computation/types/kv-store","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"coGPujMraYg4JUOBlc8O","title":"Operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"fuekcdm47S0kRDJb2XTr","title":"Arithmetic operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/arithmetic-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"bEMy2XYQwaaesyNg2x5v","title":"Bitwise operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/bitwise-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"vdtz3bvI30Kl3wHJc89V","title":"Comparison operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/comparison-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"YPk8Zp3zXYd54cedbQvt","title":"Min/Max operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/min-max-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"tZzD0B5j3Piud3svkhMa","title":"Ternary conditional operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/ternary-conditional-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"9KtYicoidR6UkGMltLnT","title":"Casting operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/casting-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"rzcbbYTNXCfJc9t4Hlls","title":"Boolean operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/boolean-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"96rZvHfrp5veM0xWKaIP","title":"String operations","pathname":"/tfhe-rs/1.5/fhe-computation/operations/string-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"uHoWPptra8OyvZV9ZtKD","title":"Dot product","pathname":"/tfhe-rs/1.5/fhe-computation/operations/dot-product","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"OGEhIr9FcCWOCaDdLDcL","title":"Core workflow","pathname":"/tfhe-rs/1.5/fhe-computation/compute","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"bMcC7qjq07XrukXUUFoC","title":"Configuration and key generation","pathname":"/tfhe-rs/1.5/fhe-computation/compute/configure-and-generate-keys","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"PTGoFB5aDRzbIYiRFEQO","title":"Server key","pathname":"/tfhe-rs/1.5/fhe-computation/compute/set-the-server-key","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"3AtSx4iGDSyfK1KmZe0I","title":"Encryption","pathname":"/tfhe-rs/1.5/fhe-computation/compute/encrypt-data","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"m2MGF25IMG85x2VLcLld","title":"Decryption","pathname":"/tfhe-rs/1.5/fhe-computation/compute/decrypt-data","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"WwXpzCAgFCw3HkvbFGYU","title":"Parameters","pathname":"/tfhe-rs/1.5/fhe-computation/compute/parameters","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"qi0sWTqBvivYtkbgKhet","title":"Data handling","pathname":"/tfhe-rs/1.5/fhe-computation/data-handling","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"mUcB0URPyCVYdbkHtMcD","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/1.5/fhe-computation/data-handling/compress","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"XSzLA706LjVaEv2dGUFC","title":"Serialization/deserialization","pathname":"/tfhe-rs/1.5/fhe-computation/data-handling/serialization","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"ccgK4EPMQMMrkFloUNQn","title":"Data versioning","pathname":"/tfhe-rs/1.5/fhe-computation/data-handling/data-versioning","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"YxFY09KtobNxaO3czk4T","title":"Advanced features","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"rGYZZsiVmk8wlwraDjb7","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/encrypted-prf","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"1XoA6txW1YwaBEdD3H7H","title":"Overflow detection","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/overflow-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"gwolzfbzeTFkvqpJKSrn","title":"Public key encryption","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/public-key","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"Kyrh3Vg3tViCHYVwWtac","title":"Trivial ciphertexts","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/trivial-ciphertext","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"RSOAf3EMBi91F8FUWNpg","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/zk-pok","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"evgIqXrOMtfPqbQcVusq","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/rayon-crate","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"IjaH7sZjrgCPvcNgjXkP","title":"Noise squashing","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/noise-squashing","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"gD8bWq3ZqWtMVFXexTal","title":"Key upgrade","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/upgrade-key-chain","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"cRDCsJD82IEpC0ZfJIXm","title":"Ciphertexts Rerandomization","pathname":"/tfhe-rs/1.5/fhe-computation/advanced-features/rerand","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"Ujr5NnADrWMRKu2Gyhmd","title":"Tooling","pathname":"/tfhe-rs/1.5/fhe-computation/tooling","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"JjnY6K4GtRXknjPsPJTg","title":"PBS statistics","pathname":"/tfhe-rs/1.5/fhe-computation/tooling/pbs-stats","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"OROKna3TagsdgWGgB1uV","title":"Generic trait bounds","pathname":"/tfhe-rs/1.5/fhe-computation/tooling/trait-bounds","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"YncVuqglAWIfrWSWMIWJ","title":"Debugging","pathname":"/tfhe-rs/1.5/fhe-computation/tooling/debug","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"f33Yy4ZmcrbiyzBnElxM","title":"GPU acceleration","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-gpu","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"YFmx4sguvsW85MKz3qnF","title":"A simple example","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-gpu/simple-example","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"cog30VvsJ05VYEahmTcC","title":"Operations","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-gpu/gpu-operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"orrGg6n94u8eWzCtEMrv","title":"Compressing ciphertexts","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-gpu/compressing-ciphertexts","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"be14SefYcxYNmvdrhB5U","title":"Array types","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-gpu/array-type","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"igbTIK41GbYvwTULsyeM","title":"ZK-POKs","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-gpu/zk-pok","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"UCbhNRN6HLDsqs8qIjTt","title":"Multi-GPU support","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-gpu/multi-gpu","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"QKtsUHcSiVSBc43EgEa1","title":"HPU acceleration","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-hpu","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"9UZRSaXz7hskfOVEV7Aj","title":"Benchmark","pathname":"/tfhe-rs/1.5/hardware-acceleration/run-on-hpu/benchmark","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"HPU acceleration"}]},{"id":"7VZhSsz8yTEnhlI8kNUU","title":"Advanced Rust setup","pathname":"/tfhe-rs/1.5/configuration/rust-configuration","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"qTWP3WJNNn5XnExAt9sI","title":"Parallelized PBS","pathname":"/tfhe-rs/1.5/configuration/parallelized-pbs","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"vzvBOWZIyfrPDazg7Skd","title":"JS on WASM API","pathname":"/tfhe-rs/1.5/integration/js-on-wasm-api","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"64xRvMzLuyYFBHT99Tpq","title":"High-level API in C","pathname":"/tfhe-rs/1.5/integration/c-api","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"EChQuHGxsh5be6Ia2D6Z","title":"Homomorphic parity bit","pathname":"/tfhe-rs/1.5/tutorials/parity-bit","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"10JrGobe9KCGXuuucnXd","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/1.5/tutorials/ascii-fhe-string","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"uq05Afsdmg8Lepo97YEL","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/1.5/tutorials/sha256-bool","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"jxmngzb4vf3sLoCaxWUx","title":"All tutorials","pathname":"/tfhe-rs/1.5/tutorials/see-all-tutorials","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"2o6yiy36gigdLWbA29cG","title":"Fine-grained APIs","pathname":"/tfhe-rs/1.5/references/fine-grained-apis","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"DSfNXYXS5ccNBmrbXkpF","title":"Quick start","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/quick-start","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"L0PvWhiEGWkIgEX3llY5","title":"Boolean","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"OnbFjRJEXBouyqUOqZl2","title":"Operations","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"XM8APPDuqATG0Vkc4hvH","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"P5o2PnapBy3W6kRkdj0N","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"p2AtQEl5QuoN9CZYc63v","title":"Shortint","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"YE9FecVJjSsDaJvlx1pY","title":"Operations","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"NJyw46nYJ7aYujLQjl9e","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"aXmN3iA3Fh2vbHcPYWkv","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"EascUMMaIHWyaP3fy70C","title":"Integer","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/integer","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"83YGtGO0nsbYBDVmjZmK","title":"Operations","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"iwL1FsiPRvPEDZHHwKHz","title":"Cryptographic parameters","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"Bro1dPD8zkWbKn4ztLeK","title":"Serialization/Deserialization","pathname":"/tfhe-rs/1.5/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"5G0ltBiHjRIci90ao0CA","title":"Core crypto API","pathname":"/tfhe-rs/1.5/references/core-crypto-api","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"eQAk1kT2pYzS49mOLdVp","title":"Quick start","pathname":"/tfhe-rs/1.5/references/core-crypto-api/presentation","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"qoVFCtkQmhQHXbfoDynr","title":"Tutorial","pathname":"/tfhe-rs/1.5/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"QAsqxfxslUr2X0cxLCUW","title":"TFHE deep dive","pathname":"/tfhe-rs/1.5/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"1RqltKPQZhF3MTmSdqq4","title":"Contributing","pathname":"/tfhe-rs/1.5/developers/contributing","siteSpaceId":"sitesp_xT2TM","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"yp7GcyLJ3yqh7H4Pa9Pt","title":"Welcome to TFHE-rs","pathname":"/tfhe-rs","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"}]},{"id":"lttiSqS1PZyEkgpc5Ew9","title":"What is TFHE-rs?","pathname":"/tfhe-rs/get-started/getting-started","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"DnGdKyQOkk4OWcWnNHCL","title":"Installation","pathname":"/tfhe-rs/get-started/installation","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"zO5YZL1W3mgVmPIpp5dI","title":"Quick start","pathname":"/tfhe-rs/get-started/quick-start","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"s8UVhPsm6lAgSvTLBBoN","title":"Benchmarks","pathname":"/tfhe-rs/get-started/benchmarks","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"2SbtUINehZ3NhQMTw5Bi","title":"CPU Benchmarks","pathname":"/tfhe-rs/get-started/benchmarks/cpu","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"WyGIoETBgzHa3Nm2KjBw","title":"Integer","pathname":"/tfhe-rs/get-started/benchmarks/cpu/cpu-integer-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"PUYcMnQN4Mw7ZnHRt5kS","title":"ERC7984","pathname":"/tfhe-rs/get-started/benchmarks/cpu/cpu-erc7984","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"zjTxWa0FHys6HloVzlnl","title":"KVStore","pathname":"/tfhe-rs/get-started/benchmarks/cpu/cpu-kvstore","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"44i0FBo61rFH26IHTYPo","title":"Programmable bootstrapping","pathname":"/tfhe-rs/get-started/benchmarks/cpu/cpu-programmable-bootstrapping","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"CPU Benchmarks"}]},{"id":"DotSsoYqeML7JXXpU1VE","title":"GPU Benchmarks","pathname":"/tfhe-rs/get-started/benchmarks/gpu","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"fa6oEvY8yuoQpk2LXBkk","title":"Integer","pathname":"/tfhe-rs/get-started/benchmarks/gpu/gpu-integer-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"KHkNxHeDqwq5XyrChxCJ","title":"ERC7984","pathname":"/tfhe-rs/get-started/benchmarks/gpu/gpu-erc7984","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"5yFJK9DyqyUrptIyasPf","title":"Programmable bootstrapping","pathname":"/tfhe-rs/get-started/benchmarks/gpu/gpu-programmable-bootstrapping","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"GPU Benchmarks"}]},{"id":"Ze0mpaGaEyojfBHkOcM6","title":"HPU Benchmarks","pathname":"/tfhe-rs/get-started/benchmarks/hpu","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"2eEWnvjhedtVQdUDMLg5","title":"Integer","pathname":"/tfhe-rs/get-started/benchmarks/hpu/hpu-integer-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"X6NlK8cyHypOwXi9eqW9","title":"ERC7984","pathname":"/tfhe-rs/get-started/benchmarks/hpu/hpu-erc7984","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"mujd6FyqMG00eMDJAaiR","title":"Programmable bootstrapping","pathname":"/tfhe-rs/get-started/benchmarks/hpu/hpu-programmable-bootstrapping","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"},{"label":"HPU Benchmarks"}]},{"id":"pHUy0IIalivMzGimdLH2","title":"Zero-knowledge proof benchmarks","pathname":"/tfhe-rs/get-started/benchmarks/zk-proof-benchmarks","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"},{"label":"Benchmarks"}]},{"id":"7e9SZftIce2stKFWjNyo","title":"Security and cryptography","pathname":"/tfhe-rs/get-started/security-and-cryptography","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Get Started"}]},{"id":"V1t9Rb9K6H7OR0aanz23","title":"Types","pathname":"/tfhe-rs/fhe-computation/types","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"t0cgPottQQGDI8l0bIct","title":"Integer","pathname":"/tfhe-rs/fhe-computation/types/integer","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"YKV3vu7CYYy18DfkU8yV","title":"Strings","pathname":"/tfhe-rs/fhe-computation/types/strings","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"ZV4S6POaNEdIVlSUDkF6","title":"Array","pathname":"/tfhe-rs/fhe-computation/types/array","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"pmvtKtdoncNMrdf4DTP5","title":"KVStore","pathname":"/tfhe-rs/fhe-computation/types/kv-store","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Types"}]},{"id":"kv1TojPtLYs0A07zggWe","title":"Operations","pathname":"/tfhe-rs/fhe-computation/operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"uessgBq0osWDqqdgOUgZ","title":"Arithmetic operations","pathname":"/tfhe-rs/fhe-computation/operations/arithmetic-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"UJHnU05Yo98wb0EgPeFi","title":"Bitwise operations","pathname":"/tfhe-rs/fhe-computation/operations/bitwise-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"t5Nji3elc1orbIurxMmM","title":"Comparison operations","pathname":"/tfhe-rs/fhe-computation/operations/comparison-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"VeMrT0zHQxPY6lNsJSrv","title":"Min/Max operations","pathname":"/tfhe-rs/fhe-computation/operations/min-max-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"TcdpwXXPqorUPBvgaAj1","title":"Ternary conditional operations","pathname":"/tfhe-rs/fhe-computation/operations/ternary-conditional-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"pCh7IyeZEVF5ji8ySHEs","title":"Casting operations","pathname":"/tfhe-rs/fhe-computation/operations/casting-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"OLS5jTePBJNdxa1Bvo5c","title":"Boolean operations","pathname":"/tfhe-rs/fhe-computation/operations/boolean-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"KYyfIQYPbrUErJd0YLuk","title":"String operations","pathname":"/tfhe-rs/fhe-computation/operations/string-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"7akZPBvEtRwPh6hC3cvw","title":"Dot product","pathname":"/tfhe-rs/fhe-computation/operations/dot-product","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Operations"}]},{"id":"vbUzlMBGw7dg7FBc5hf6","title":"Core workflow","pathname":"/tfhe-rs/fhe-computation/compute","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"0eAJEJzP9RWp24PE2nqT","title":"Configuration and key generation","pathname":"/tfhe-rs/fhe-computation/compute/configure-and-generate-keys","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"LheMaKK8laLCsaf8snP2","title":"Server key","pathname":"/tfhe-rs/fhe-computation/compute/set-the-server-key","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"38AvLTgcosgDbRB8EMoq","title":"Encryption","pathname":"/tfhe-rs/fhe-computation/compute/encrypt-data","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"YcEzew4aAaQOEKUBJuMy","title":"Decryption","pathname":"/tfhe-rs/fhe-computation/compute/decrypt-data","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"WIhevOFBKmPHKdMXuTYB","title":"Parameters","pathname":"/tfhe-rs/fhe-computation/compute/parameters","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Core workflow"}]},{"id":"1emacU70liAEvXfNp7f5","title":"Data handling","pathname":"/tfhe-rs/fhe-computation/data-handling","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"kUtL6wpj9Gb2lmLRkbwx","title":"Compressing ciphertexts/keys","pathname":"/tfhe-rs/fhe-computation/data-handling/compress","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"e6qnRSfPCtatGRpFVbVe","title":"Serialization/deserialization","pathname":"/tfhe-rs/fhe-computation/data-handling/serialization","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"Wo99RktfjYjA50wJVtSr","title":"Data versioning","pathname":"/tfhe-rs/fhe-computation/data-handling/data-versioning","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Data handling"}]},{"id":"xM8GjooHH580GbmVrObd","title":"Advanced features","pathname":"/tfhe-rs/fhe-computation/advanced-features","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"rEoGEujG71fYbZ9UGyLB","title":"Encrypted pseudo random values","pathname":"/tfhe-rs/fhe-computation/advanced-features/encrypted-prf","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"lxbHh78paAyPkp95ksmJ","title":"Overflow detection","pathname":"/tfhe-rs/fhe-computation/advanced-features/overflow-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"n5Bah734itTRuNBuIPSQ","title":"Public key encryption","pathname":"/tfhe-rs/fhe-computation/advanced-features/public-key","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"T5k3JEOOq4cz3PsrlZ6z","title":"Trivial ciphertexts","pathname":"/tfhe-rs/fhe-computation/advanced-features/trivial-ciphertext","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"REUAZ7xR98ig3Cb0B2qk","title":"Zero-knowledge proofs","pathname":"/tfhe-rs/fhe-computation/advanced-features/zk-pok","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"D99WCK0TanS2qA7AwTV0","title":"Multi-threading with Rayon crate","pathname":"/tfhe-rs/fhe-computation/advanced-features/rayon-crate","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"R5H1oE78wcuOrPhOz1tW","title":"Noise squashing","pathname":"/tfhe-rs/fhe-computation/advanced-features/noise-squashing","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"utIosAO8rO56cmD5idhH","title":"Key upgrade","pathname":"/tfhe-rs/fhe-computation/advanced-features/upgrade-key-chain","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"BhVCJgr2tqTQCJyC8Vsq","title":"Ciphertexts Rerandomization","pathname":"/tfhe-rs/fhe-computation/advanced-features/rerand","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Advanced features"}]},{"id":"w9F2pw10i82IEB30ze6J","title":"Tooling","pathname":"/tfhe-rs/fhe-computation/tooling","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"}]},{"id":"crUh2Kt7bHEFRK6bdIlx","title":"PBS statistics","pathname":"/tfhe-rs/fhe-computation/tooling/pbs-stats","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"UF4E0i2IgqlSvHXBwS80","title":"Generic trait bounds","pathname":"/tfhe-rs/fhe-computation/tooling/trait-bounds","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"oJ5vygwY3uDDMiA58Q8d","title":"Debugging","pathname":"/tfhe-rs/fhe-computation/tooling/debug","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"FHE Computation"},{"label":"Tooling"}]},{"id":"N3ZKmHdPwDFv1DvJvYJd","title":"GPU acceleration","pathname":"/tfhe-rs/hardware-acceleration/run-on-gpu","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"5ixQvfQyTbLNiYnC98hC","title":"A simple example","pathname":"/tfhe-rs/hardware-acceleration/run-on-gpu/simple-example","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"pHD9Tc6INNd5mgNlnbu4","title":"Operations","pathname":"/tfhe-rs/hardware-acceleration/run-on-gpu/gpu-operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"VAZzaXiz3RAzHsZtL6v4","title":"Compressing ciphertexts","pathname":"/tfhe-rs/hardware-acceleration/run-on-gpu/compressing-ciphertexts","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"b0Utw8xerrKFUwyQgEWM","title":"Array types","pathname":"/tfhe-rs/hardware-acceleration/run-on-gpu/array-type","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"8MwYVymkDMqsMaNFNjCt","title":"ZK-POKs","pathname":"/tfhe-rs/hardware-acceleration/run-on-gpu/zk-pok","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"2sxeWq4qrKA0jEnaKqe1","title":"Multi-GPU support","pathname":"/tfhe-rs/hardware-acceleration/run-on-gpu/multi-gpu","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"GPU acceleration"}]},{"id":"Pgl1GBQKoLnIX3AKYQea","title":"HPU acceleration","pathname":"/tfhe-rs/hardware-acceleration/run-on-hpu","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"}]},{"id":"Sed0k96QKY4jCTZ76wjd","title":"Benchmark","pathname":"/tfhe-rs/hardware-acceleration/run-on-hpu/benchmark","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Hardware acceleration"},{"label":"HPU acceleration"}]},{"id":"6Jaw47Rd2Sa6VPVN8a2e","title":"Advanced Rust setup","pathname":"/tfhe-rs/configuration/rust-configuration","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"fA1bO9mOzXnif599FTTj","title":"Parallelized PBS","pathname":"/tfhe-rs/configuration/parallelized-pbs","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Configuration"}]},{"id":"rltVoIjHyaKSsKOsBizv","title":"JS on WASM API","pathname":"/tfhe-rs/integration/js-on-wasm-api","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"5UfHKEq4pAaCqPCnfvCi","title":"High-level API in C","pathname":"/tfhe-rs/integration/c-api","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Integration"}]},{"id":"KWaNnfFHJRrdT3US0fca","title":"Homomorphic parity bit","pathname":"/tfhe-rs/tutorials/parity-bit","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"SG5GL8wyhnywoDbUfxOm","title":"Homomorphic case changing on Ascii string","pathname":"/tfhe-rs/tutorials/ascii-fhe-string","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"KLdfiqmbQdEl8V6hbtXC","title":"SHA256 with Boolean API","pathname":"/tfhe-rs/tutorials/sha256-bool","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"q9BHPW7jmJB5LAjmHcgS","title":"All tutorials","pathname":"/tfhe-rs/tutorials/see-all-tutorials","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Tutorials"}]},{"id":"mhAq485phYiIiqXJBnN5","title":"Fine-grained APIs","pathname":"/tfhe-rs/references/fine-grained-apis","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"euSKKG6E1q9pUNNr1Gog","title":"Quick start","pathname":"/tfhe-rs/references/fine-grained-apis/quick-start","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"ewCddqqXUIAA6wKmuZbC","title":"Boolean","pathname":"/tfhe-rs/references/fine-grained-apis/boolean","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"F1p6jBnb6WuSE0sHiTMy","title":"Operations","pathname":"/tfhe-rs/references/fine-grained-apis/boolean/operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"uOYSpNFCsARQeAiInSXo","title":"Cryptographic parameters","pathname":"/tfhe-rs/references/fine-grained-apis/boolean/parameters","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"u1ltUq6b9k0HRAGAHJJU","title":"Serialization/Deserialization","pathname":"/tfhe-rs/references/fine-grained-apis/boolean/serialization","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Boolean"}]},{"id":"pKCl0QV4ZZFCvrbMaXw7","title":"Shortint","pathname":"/tfhe-rs/references/fine-grained-apis/shortint","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"j7YJIowLgLTPSEwvMzlq","title":"Operations","pathname":"/tfhe-rs/references/fine-grained-apis/shortint/operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"PxfFuBJ5eb9bkELL9tj4","title":"Cryptographic parameters","pathname":"/tfhe-rs/references/fine-grained-apis/shortint/parameters","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"pjrnd7lKGz5DNhEFGGPu","title":"Serialization/Deserialization","pathname":"/tfhe-rs/references/fine-grained-apis/shortint/serialization","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Shortint"}]},{"id":"NFi1L6sAoEqTdhChQQuo","title":"Integer","pathname":"/tfhe-rs/references/fine-grained-apis/integer","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"}]},{"id":"NcarI2Ne5TbozQXjLUkG","title":"Operations","pathname":"/tfhe-rs/references/fine-grained-apis/integer/operations","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"v7Ki8PfLDP2RHEgF0F1C","title":"Cryptographic parameters","pathname":"/tfhe-rs/references/fine-grained-apis/integer/parameters","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"uOGx5ZqJYUpxObzojbHM","title":"Serialization/Deserialization","pathname":"/tfhe-rs/references/fine-grained-apis/integer/serialization","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Fine-grained APIs"},{"label":"Integer"}]},{"id":"LhmyAI9ZrHKsAjtKwy3V","title":"Core crypto API","pathname":"/tfhe-rs/references/core-crypto-api","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"}]},{"id":"mSHfkwZImGow2Sq40wCI","title":"Quick start","pathname":"/tfhe-rs/references/core-crypto-api/presentation","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"i7rR4Ung1ncpgQJIZcnL","title":"Tutorial","pathname":"/tfhe-rs/references/core-crypto-api/tutorial","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"References"},{"label":"Core crypto API"}]},{"id":"5sKrFDlQkWUzHFh9ysXf","title":"TFHE deep dive","pathname":"/tfhe-rs/explanations/tfhe-deep-dive","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Explanations"}]},{"id":"FmYEfI0MJd8639yzJ2Vj","title":"Contributing","pathname":"/tfhe-rs/developers/contributing","siteSpaceId":"sitesp_y3XfI","description":"","breadcrumbs":[{"label":"Documentation"},{"label":"Developers"}]},{"id":"xSKACgaFjsHdWkvrL7EZ","title":"Changelog","pathname":"/tfhe-rs/changelog","siteSpaceId":"sitesp_rhUKz","description":"A full rundown of our latest releases, improvements and fixes in TFHE-rs.","breadcrumbs":[{"label":"Changelog"}]}]}