bend-osdev-crypto
Search uses release 0.1.0.0 · 678 definitions
Definitions (678)
- law xor_involutionthe cipher is its own inverse: from one state, applied twice, the data comes back
- law xor_streaming_datadata in pieces: the output of a ++ b is the output of a, then the output of b from the state after a
- law xor_streaming_state
- law ctr_involution
- law ctr_streaming_data
- law ctr_streaming_state
- law cmblock_format
- law cmblock_xor
- law lcblock64_format
- law lcblock64_xor
- law mac_verify_tag_accepts
- law mac_verify_tag_agrees
- law hmac_accepts
- law cmac_accepts
- law xcbc_acceptsXCBC-MAC over every block cipher (xcbc.bend) accepts what it computes
- law vmac_acceptsVMAC over every block cipher and nonce length (vmac.bend) accepts what it computes
- law crc32_hash_streaming
- law crc32_hash_split
- law crc64_hash_streaming
- law crc64_hash_split
- law lift_round_trip
- law ccm_round_trip_ifCCM as an AEAD (inst_ccm.bend), for every 128-bit block cipher, key, tag length, nonce, associated data and message: the AEAD round trip, given cipher-modes' ccm_round_trip at the same arguments (h).
- law sign_verify_bytes_ifSignatures and key agreement (sign.bend, kex.bend): the generic helpers keep the interface laws (README.md); the instances (RSA, DH, ECDSA, ECDH, SM2, EC-RDSA) and their laws are in bend-osdev-pubkey.
- law kex_agree_iftwo parties agree from each other's public-key bytes, for every scheme and pair of secret keys, when the keys parse (hx, hy), the public keys survive their bytes (hfx, hfy) and the scheme's agree law holds for them (h)
- law crc32_hash_check
- law crc32c_hash_check
- law crc64_xz_hash_check
- law crc32_hash_lengtha CRC-32 digest is 4 bytes, for every parameter set and register
- law hmac_crc32_vectorHMAC over CRC-32 (the key "key", the message "The quick brown fox"): the value of Python's hmac module over binascii.crc32 (ref/gen.py checks the same construction on random keys and messages)
- law rc4_empty_keyrefusals: an RC4 key of 0 bytes, an IV given to RC4, a CTR counter block of the wrong length, bytes that are not whole blocks, and an HKDF output longer than 255 digests
- law rc4_iv_refused
- law ctr_bad_iv
- law blocks_of_not_whole
- law hkdf_too_long
- law aes_fips197_c1FIPS 197 Appendix C.1 through the block-cipher interface: AES-128, its encryption key schedule then one block of bytes (with CrAes.key, which computes the decryption round keys too, the vector checks but runs past --verdict's kernel; check.bend runs it both ways)
- law crc32_hash_split3
- law crc64_hash_split3
- law sha256_spec
- law sha256_hash_split
- law sha256_hash_split3
- law sha256_hash_length
- law sha512_spec
- law sha512_hash_split
- law sha512_hash_split3
- law sha512_hash_length
- law sha3_256_spec
- law sha3_256_hash_split
- law sha3_256_hash_split3
- law sha3_256_hash_length
- law hkdf_sha256_too_longHKDF over SHA-256 refuses more than 255 digests (8160 bytes)
- law sha256_abcFIPS 180-4's example "abc" (NIST's SHA examples), through the hash interface
- law sha3_256_abcFIPS 202's SHA3-256 of "abc" (NIST's SHA-3 examples), through the hash interface
- law hmac_sha256_rfc4231_2RFC 4231 test case 2: HMAC-SHA-256 with the key "Jefe"
- law michael_acceptsMichael as a MAC (inst_michael.bend): it accepts what it computes, for every key and message (it uses the named default verify); a key of another length than 8 bytes is refused; the sixth test vector recalled as IEEE 802.11i's, through the MAC interface (not checked against a published copy: hashes/README.md)
- law michael_key_length
- law michael_mac_vector
- law pbkdf2_lengthPBKDF2 over any MAC (pbkdf2.bend), for every MAC, password, salt, iteration count and length: a derivation that succeeds gives exactly the length asked for (the KDF interface's length law); the unchecked stream has that length, and a shorter stream is a prefix of a longer (the KDF interface's prefix law)
- law pbkdf2_stream_length
- law pbkdf2_stream_prefix
- law pbkdf2_zero_iterationsPBKDF2 refuses an iteration count of 0 (over HMAC-SHA-1)
- law pbkdf2_hmac_sha1_rfc6070_1RFC 6070 test cases 1 and 2: PBKDF2-HMAC-SHA1, P = "password", S = "salt", c = 1 and 2, dkLen = 20
- law pbkdf2_hmac_sha1_rfc6070_2
- law pbkdf2_hmac_sha256_rfc7914_1RFC 7914, section 11: PBKDF2-HMAC-SHA256, P = "passwd", S = "salt", c = 1: the first 32 of its 64 bytes (a shorter output is a prefix of a longer, pbkdf2_stream_prefix; all 64 bytes, two blocks, run past --verdict's kernel fuel, and check.bend computes them)
- law kbkdf_counter_stream_lengthSP 800-108 KDFs over any MAC (kbkdf.bend), for every MAC, key, fixed input data and length: each stream has the length asked for, a shorter stream is a prefix of a longer one with the same fixed input (and IV), and a derivation that succeeds has the length asked for.
- law kbkdf_counter_stream_prefix
- law kbkdf_feedback_stream_length
- law kbkdf_feedback_stream_prefix
- law kbkdf_counter_length
- law kbkdf_feedback_length
- law kbkdf_hmac_sha256_vectorKBKDF in counter mode over HMAC-SHA-256 (32-bit counter and [L]_2), the key "secret key bytes", Label "label", Context "context", 32 bytes: Python's cryptography's KBKDFHMAC gives this value.
- law des_block_round_tripBEGIN GENERATED by gen/instances.py: laws DES (legacy-ciphers): decryption undoes encryption, for every key and block
- law des_block_round_trip_dualDES (legacy-ciphers): encryption undoes decryption (a permutation of the blocks)
- law des_key_lengthDES (legacy-ciphers): a key of 7 bytes is refused
- law des_ecb_round_tripDES (legacy-ciphers) in ECB (modes.bend): decryption undoes encryption, for every key and list of blocks
- law des_cbc_round_tripDES (legacy-ciphers) in CBC (modes.bend): decryption undoes encryption, for every key, IV and list of blocks
- law des_pcbc_round_tripDES (legacy-ciphers) in PCBC (pcbc.bend): decryption undoes encryption, for every key, IV and list of blocks
- law tdes_block_round_tripTriple DES (legacy-ciphers): decryption undoes encryption, for every key and block
- law tdes_block_round_trip_dualTriple DES (legacy-ciphers): encryption undoes decryption (a permutation of the blocks)
- law tdes_key_lengthTriple DES (legacy-ciphers): a key of 8 bytes is refused
- law tdes_ecb_round_tripTriple DES (legacy-ciphers) in ECB (modes.bend): decryption undoes encryption, for every key and list of blocks
- law tdes_cbc_round_tripTriple DES (legacy-ciphers) in CBC (modes.bend): decryption undoes encryption, for every key, IV and list of blocks
- law tdes_pcbc_round_tripTriple DES (legacy-ciphers) in PCBC (pcbc.bend): decryption undoes encryption, for every key, IV and list of blocks
- law sm4_block_round_tripSM4 (legacy-ciphers): decryption undoes encryption, for every key and block
- law sm4_block_round_trip_dualSM4 (legacy-ciphers): encryption undoes decryption (a permutation of the blocks)
- law sm4_key_lengthSM4 (legacy-ciphers): a key of 15 bytes is refused
- law sm4_ecb_round_tripSM4 (legacy-ciphers) in ECB (modes.bend): decryption undoes encryption, for every key and list of blocks
- law sm4_cbc_round_tripSM4 (legacy-ciphers) in CBC (modes.bend): decryption undoes encryption, for every key, IV and list of blocks
- law sm4_pcbc_round_tripSM4 (legacy-ciphers) in PCBC (pcbc.bend): decryption undoes encryption, for every key, IV and list of blocks
- law sm4_lrw_round_tripSM4 (legacy-ciphers) in LRW (lrw.bend): decryption undoes encryption, for every key, tweak key, index and list of blocks
- law camellia_block_round_tripCamellia (legacy-ciphers): decryption undoes encryption, for every key and block
- law camellia_block_round_trip_dualCamellia (legacy-ciphers): encryption undoes decryption (a permutation of the blocks)
- law camellia_key_lengthCamellia (legacy-ciphers): a key of 20 bytes is refused
- law camellia_ecb_round_tripCamellia (legacy-ciphers) in ECB (modes.bend): decryption undoes encryption, for every key and list of blocks
- law camellia_cbc_round_tripCamellia (legacy-ciphers) in CBC (modes.bend): decryption undoes encryption, for every key, IV and list of blocks
- law camellia_pcbc_round_tripCamellia (legacy-ciphers) in PCBC (pcbc.bend): decryption undoes encryption, for every key, IV and list of blocks
- law camellia_lrw_round_tripCamellia (legacy-ciphers) in LRW (lrw.bend): decryption undoes encryption, for every key, tweak key, index and list of blocks
- law serpent_block_round_tripSerpent (legacy-ciphers): decryption undoes encryption, for every key and block
- law serpent_block_round_trip_dualSerpent (legacy-ciphers): encryption undoes decryption (a permutation of the blocks)
- law serpent_key_lengthSerpent (legacy-ciphers): a key of 33 bytes is refused
- law serpent_ecb_round_tripSerpent (legacy-ciphers) in ECB (modes.bend): decryption undoes encryption, for every key and list of blocks