MCPcopy Create free account

hub / github.com/OpenWhiteBox/AES / functions

Functions266 in github.com/OpenWhiteBox/AES

↓ 15 callersMethodSubByte
SubByte is AES' S-box. It is a bijection.
constructions/saes/saes.go:132
↓ 13 callersFunctionExpand
Expand takes a value from AES's space and embeds it in BES's space.
constructions/bes/tools.go:9
↓ 13 callersMethodShiftRows
ShiftRows permutes the first sixteen bytes of block with a fixed permutation.
constructions/saes/saes.go:169
↓ 12 callersMethodBlockAffine
()
constructions/full/full.go:47
↓ 11 callersMethodEncrypt
Encrypt encrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/chow/chow.go:34
↓ 11 callersMethodSerialize
()
constructions/common/xor_tables.go:17
↓ 11 callersMethodgetBlock
getBlock returns the 8-by-8 block of the affine layer at the given position.
cryptanalysis/chow/affine.go:183
↓ 8 callersFunctionGenerateEncryptionKeys
GenerateEncryptionKeys creates a white-boxed version of AES with given key for encryption, with any non-determinism generated by seed. Opts specifies
constructions/chow/keygen.go:97
↓ 8 callersMethodStretchedKey
StretchedKey implements BES' key schedule. It returns the 11 round keys derived from the master key.
constructions/bes/bes.go:95
↓ 8 callersMethodcompose
(in *blockAffine)
constructions/full/full.go:33
↓ 7 callersMethodDecode
(in byte)
constructions/toy/keygen.go:63
↓ 7 callersMethodGet
(i byte)
constructions/chow/keygen_primitives.go:18
↓ 7 callersMethodUnShiftRows
UnShiftRows permutes the first sixteen bytes of block. It is the inverse of ShiftRows.
constructions/saes/saes.go:177
↓ 6 callersMethodAddRoundKey
AddRoundKey XORs roundKey into block.
constructions/saes/saes.go:103
↓ 6 callersMethodEncrypt
Encrypt encrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/xiao/xiao.go:28
↓ 6 callersFunctionstepEncoding
stepEncoding returns a TyiEncoding if surface = common.Inside and a MBInverseEncoding if surface = common.Outside. It transparently swaps the two in t
constructions/chow/keygen_primitives.go:118
↓ 6 callersFunctionxorEncoding
xorEncoding produces encodings for intermediate values of XOR tables. All randomness is derived from the random source. If round < 10: surface = comm
constructions/chow/keygen_primitives.go:58
↓ 5 callersMethodEncode
(in byte)
constructions/toy/keygen.go:54
↓ 5 callersMethodEncode
(in byte)
cryptanalysis/chow/sbox.go:15
↓ 5 callersFunctionGenerateEncryptionKeys
GenerateEncryptionKeys creates a white-boxed version of the AES key `key` for encryption, with any non-determinism generated by `seed`.
constructions/xiao/keygen.go:66
↓ 5 callersMethodUnSubByte
UnSubByte is the inverse of SubByte. It is a bijection.
constructions/saes/saes.go:150
↓ 5 callersFunctionsideFromPos
(pos int)
constructions/xiao/keygen_primitives.go:19
↓ 5 callersMethodsubBytes
subBytes rewrites each byte of the state with the S-Box. unSubBytes and subBytes are the same.
constructions/bes/bes.go:131
↓ 4 callersMethodDecode
(in byte)
cryptanalysis/xiao/sbox.go:19
↓ 4 callersMethodEncrypt
Encrypt encrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/saes/saes.go:22
↓ 4 callersMethodExpandWord
(tmc []table.DoubleToWord, word []byte)
constructions/xiao/xiao.go:54
↓ 4 callersMethodGet
(i [2]byte)
constructions/xiao/keygen_primitives.go:56
↓ 4 callersMethodGet
(i byte)
constructions/common/aes.go:16
↓ 4 callersMethodMixColumns
MixColumns multiplies each word of block by a fixed elment of GF(2^32).
constructions/saes/saes.go:185
↓ 4 callersMethodSquashWords
(words [2][4]byte, dst []byte)
constructions/xiao/xiao.go:61
↓ 4 callersFunctiongenerateMask
(rs *random.Source, maskType MaskType, surface Surface)
constructions/common/keygen_primitives.go:54
↓ 4 callersMethodleftCompose
reftCompose component-wise composes this SBox layer with a concatenated block encoding on the left (input). A shift to apply can be specified.
cryptanalysis/chow/sbox.go:49
↓ 4 callersFunctionmaskEncoding
maskEncoding produces encodings for the outputs of the InputMask and OutputMask. All randomness is derived from the random source; surface is common.I
constructions/chow/keygen_primitives.go:33
↓ 4 callersFunctionmaskSwap
(rs *random.Source, size, round int)
constructions/xiao/keygen_primitives.go:104
↓ 4 callersMethodrightCompose
rightCompose composes a Block encoding on the right.
cryptanalysis/xiao/affine.go:58
↓ 4 callersMethodrightCompose
rightCompose component-wise composes this SBox layer with a concatenated block encoding on the right (output). A shift to apply can be specified.
cryptanalysis/chow/sbox.go:59
↓ 4 callersFunctionroundEncoding
roundEncoding produces encodings for the output of a series of XOR tables / the input of a TBoxTyiTable or MBInverseTable. All randomness is derived f
constructions/chow/keygen_primitives.go:77
↓ 4 callersMethodswap
(i, j int)
cryptanalysis/toy/small_matrix.go:38
↓ 3 callersMethodEncrypt
Encrypt encrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/full/full.go:82
↓ 3 callersMethodEncrypt
Encrypt encrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/toy/toy.go:17
↓ 3 callersFunctionGenerateKeys
GenerateKeys creates a white-boxed version of the AES key `key`, with any non-determinism generated by `seed`.
constructions/toy/keygen.go:112
↓ 3 callersMethodGet
(i [2]byte)
constructions/common/xor_tables.go:30
↓ 3 callersMethodStretchedKey
StretchedKey implements AES' key schedule. It returns the 11 round keys derived from the master key.
constructions/saes/saes.go:61
↓ 3 callersMethodSubBytes
SubBytes rewrites each byte of block with its image under SubByte.
constructions/saes/saes.go:110
↓ 3 callersMethodadjust
adjust fixes the affine layer for two block encodings which will be moved somewhere else.
cryptanalysis/toy/affine.go:31
↓ 3 callersFunctionbyteRoundEncoding
byteRoundEncoding concatenates all the round encodings for a single byte. Function parameters are explained in RoundEncoding documentation.
constructions/chow/keygen_primitives.go:165
↓ 3 callersMethodleftCompose
leftCompose composes a Block encoding on the left.
cryptanalysis/xiao/affine.go:49
↓ 3 callersFunctionmakeSubBytesConst
(n int)
constructions/bes/constants.go:46
↓ 3 callersMethodparasites
parasites returns the input parasite for each byte of the input of al.
cryptanalysis/toy/affine.go:54
↓ 3 callersFunctiontestinit
()
constructions/bes/bes_test.go:14
↓ 3 callersFunctiontoString
toString converts an 8-by-8 matrix into a hex string.
cryptanalysis/toy/affine.go:12
↓ 2 callersMethodBlockSize
BlockSize returns the block size of AES. (Necessary to implement cipher.Block.)
constructions/saes/saes.go:19
↓ 2 callersMethodDecode
(in byte)
cryptanalysis/chow/sbox.go:20
↓ 2 callersMethodDecrypt
Decrypt decrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/bes/bes.go:45
↓ 2 callersMethodDecrypt
Decrypt decrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/saes/saes.go:40
↓ 2 callersMethodEncode
(in [16]byte)
cryptanalysis/toy/encoding.go:34
↓ 2 callersMethodExpandWord
ExpandWord expands one word of the state matrix with the T-Boxes composed with Tyi Tables.
constructions/chow/chow.go:89
↓ 2 callersFunctionGenerateKeys
GenerateKeys creates a white-boxed version of the AES key `key`, with any non-determinism generated by `seed`.
constructions/full/keygen.go:112
↓ 2 callersMethodGet
(i [2]byte)
constructions/xiao/keygen_primitives.go:33
↓ 2 callersMethodMixColumn
MixColumn multiplies the first four bytes of slice by a fixed element of GF(2^32).
constructions/saes/saes.go:199
↓ 2 callersFunctionParse
Parse parses a byte array into a white-box construction. It returns an error if the byte array isn't long enough.
constructions/xiao/persistence.go:37
↓ 2 callersFunctionParse
Parse parses a byte array into a white-box construction. It returns an error if the byte array isn't long enough.
constructions/chow/persistence.go:41
↓ 2 callersFunctionParseBlockSlices
(in []byte)
constructions/common/persistence.go:23
↓ 2 callersMethodSquashBlocks
(blocks [16][16]byte, dst []byte)
constructions/common/xor_tables.go:16
↓ 2 callersMethodSquashWords
SquashWords squashes an expanded word back into one word with 3 pairwise XORs (calc'd one nibble at a time): (((a ^ b) ^ c) ^ d)
constructions/chow/chow.go:95
↓ 2 callersMethodSubWord
SubWord applies SubByte to each byte of an unsigned integer word and returns the result.
constructions/saes/saes.go:124
↓ 2 callersMethodUnMixColumns
UnMixColumns is the inverse of MixColumns.
constructions/saes/saes.go:192
↓ 2 callersMethodUnSubBytes
UnSubBytes rewrites each byte of block with its image under UnSubByte.
constructions/saes/saes.go:117
↓ 2 callersMethodadjust
adjust fixes the affine layer for two concatenated block encodings which will be moved into the S-box layer.
cryptanalysis/chow/affine.go:67
↓ 2 callersFunctionbackOneRound
backOneRound takes round key i and returns round key i-1.
cryptanalysis/toy/toy.go:16
↓ 2 callersFunctionbackOneRound
backOneRound takes round key i and returns round key i-1.
cryptanalysis/chow/chow.go:22
↓ 2 callersFunctionblockMaskEncoding
blockMaskEncoding concatenates all the mask encodings for InputMask or TBoxOutputMask into a block encoding, so that it can easily be put on the outpu
constructions/chow/keygen_primitives.go:93
↓ 2 callersMethodclean
clean gets the affine layer back to MixColumns and returns the input and output parasites.
cryptanalysis/chow/affine.go:45
↓ 2 callersMethodcleanParasites
cleanParasites removes the given parasites from the input and output of al. in are the input parasites for this affine layer, and nextIn are the input
cryptanalysis/toy/affine.go:43
↓ 2 callersMethodcrypt
(dst, src []byte)
constructions/xiao/xiao.go:37
↓ 2 callersMethodcrypt
crypt pushes the first block in src through the lookup tables (which may compute encryption or decryption) and writes the result to dst. shift is the
constructions/chow/chow.go:45
↓ 2 callersMethoddecrypt
(in gfmatrix.Row)
constructions/bes/bes.go:76
↓ 2 callersMethodencrypt
(in gfmatrix.Row)
constructions/bes/bes.go:58
↓ 2 callersMethodexpandBlock
ExpandBlock expands the entire state matrix into sixteen blocks.
constructions/chow/chow.go:109
↓ 2 callersFunctionfindMatrix
findMatrix finds an invertible matrix in a basis.
cryptanalysis/chow/affine.go:10
↓ 2 callersFunctiongenerateBarriers
generateBarriers creates the encoding barriers between rounds that compute ShiftRows and re-encodes data.
constructions/xiao/keygen.go:52
↓ 2 callersFunctiongenerateKeys
(rs *random.Source, opts common.KeyGenerationOpts, out *Construction, inputMask, outputMask *matrix.Matrix, sh
constructions/chow/keygen.go:13
↓ 2 callersFunctiongenerateRoundMaterial
StandardAES form of Xiao-Lai: func (constr Construction) Encrypt(dst, src []byte) { roundKeys := constr.StretchedKey() copy(dst, src) for i := 0;
constructions/xiao/keygen.go:37
↓ 2 callersMethodgetBlock
getBlock returns the 8-by-8 block of the affine layer at the given position.
cryptanalysis/toy/affine.go:112
↓ 2 callersFunctionmakeSubBytes
(n int)
constructions/bes/constants.go:30
↓ 2 callersFunctionnewPermutation
newPermutation returns an identity permutation.
cryptanalysis/toy/small_matrix.go:12
↓ 2 callersFunctionparseMatrix
(in []byte)
constructions/xiao/persistence.go:69
↓ 2 callersFunctionparseStepTables
(in []byte)
constructions/chow/persistence.go:72
↓ 2 callersFunctionparseXORTables
(in []byte)
constructions/chow/persistence.go:100
↓ 2 callersFunctionserializeMatrix
(dst []byte, m matrix.Matrix)
constructions/xiao/persistence.go:60
↓ 2 callersFunctionserializeStepTables
(dst []byte, t [9][16]table.Word)
constructions/chow/persistence.go:61
↓ 2 callersFunctionserializeXORTables
(dst []byte, t [9][32][3]table.Nibble)
constructions/chow/persistence.go:87
↓ 2 callersFunctionshiftRoundKey
shiftRoundKey adds the fixed SubBytes constant to a round key and returns the result as an encoding.Block.
constructions/toy/keygen.go:105
↓ 2 callersMethodswapCols
(x, y int)
cryptanalysis/toy/small_matrix.go:50
↓ 2 callersMethodswapRows
(x, y int)
cryptanalysis/toy/small_matrix.go:46
↓ 2 callersMethodtransform
(in []byte)
constructions/full/full.go:40
↓ 2 callersFunctionwordStepEncoding
wordStepEncoding concatenates all the step encodings for the full output of a Word table in TBoxTyiTable or MBInverseTable. Function parameters are ex
constructions/chow/keygen_primitives.go:128
↓ 2 callersFunctionxorTables
xorTables generates the XOR Tables for squashing the result of a Tyi Table or MB^(-1) Table.
constructions/chow/keygen_tools.go:12
↓ 1 callersMethodBlockSize
BlockSize returns the block size of AES. (Necessary to implement cipher.Block.)
constructions/chow/chow.go:31
↓ 1 callersFunctionContract
Contract takes a value from BES's space and compacts it into AES's space.
constructions/bes/tools.go:25
next →1–100 of 266, ranked by callers