MCPcopy Create free account

hub / github.com/OpenWhiteBox/AES / functions

Functions266 in github.com/OpenWhiteBox/AES

↓ 1 callersMethodConvert
Convert returns the parasite which corresponds to p on the other side of an S-box layer.
cryptanalysis/toy/parasite.go:34
↓ 1 callersMethodDecode
(in [16]byte)
cryptanalysis/xiao/xiao.go:52
↓ 1 callersMethodDecrypt
Decrypt decrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/toy/toy.go:35
↓ 1 callersMethodDecrypt
Decrypt decrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/chow/chow.go:39
↓ 1 callersMethodEncode
(in byte)
cryptanalysis/xiao/sbox.go:14
↓ 1 callersMethodEncrypt
Encrypt encrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/bes/bes.go:31
↓ 1 callersMethodEncrypt
(dst, src []byte)
cryptanalysis/xiao/xiao.go:67
↓ 1 callersFunctionGenerateDecryptionKeys
GenerateDecryptionKeys creates a white-boxed version of the AES key `key` for decryption, with any non-determinism generated by `seed`.
constructions/xiao/keygen.go:107
↓ 1 callersFunctionGenerateDecryptionKeys
GenerateDecryptionKeys creates a white-boxed version of AES with given key for decryption, with any non-determinism generated by seed. Opts specifies
constructions/chow/keygen.go:127
↓ 1 callersFunctionParse
Parse parses a byte array into a white-box construction. It returns an error if the byte slice isn't long enough.
constructions/full/persistence.go:19
↓ 1 callersFunctionParse
Parse parses a byte array into a white-box construction. It returns an error if the byte slice isn't long enough.
constructions/toy/persistence.go:27
↓ 1 callersFunctionParseByteXORTables
[byte-wise position][gate number]
constructions/common/xor_tables.go:78
↓ 1 callersFunctionParseNibbleXORTables
[nibble-wise position][gate number]
constructions/common/xor_tables.go:36
↓ 1 callersFunctionRecoverKey
RecoverKey returns the AES key used to generate the given white-box construction.
cryptanalysis/xiao/xiao.go:77
↓ 1 callersFunctionRecoverKey
RecoverKey returns the AES key used to generate the given white-box construction.
cryptanalysis/toy/toy.go:35
↓ 1 callersFunctionRecoverKey
RecoverKey returns the AES key used to generate the given white-box construction.
cryptanalysis/chow/chow.go:72
↓ 1 callersMethodUnMixColumn
UnMixColumn is the inverse of MixColumn.
constructions/saes/saes.go:218
↓ 1 callersFunctionbackOneRound
backOneRound takes round key i and returns round key i-1.
cryptanalysis/xiao/xiao.go:21
↓ 1 callersFunctionblockOfInverse
blockOfInverse computes a block of the something something something.
cryptanalysis/xiao/affine.go:13
↓ 1 callersMethodblockParasite
blockParasites returns the input parasite of the block at the given row and column of the linear part of al, or nil if the block is zero.
cryptanalysis/toy/affine.go:73
↓ 1 callersMethodcleanConstant
cleanConstant finds the constant error on the input and output of each middle S-box. It removes it from the S-box and returns it. Note: This function
cryptanalysis/chow/sbox.go:71
↓ 1 callersMethodcleanLeft
cleanLeft gets the last affine layer back to a matrix with 16-by-16 blocks along the diagonal, times ShiftRows, times MixColumns and returns the matri
cryptanalysis/xiao/affine.go:88
↓ 1 callersMethodcleanLinear
cleanLinear finds the linear error on the input and output of each middle S-box. It removes it from the S-box and returns it. After this function is a
cryptanalysis/xiao/sbox.go:69
↓ 1 callersMethodcleanLinear
cleanLinear finds the linear error on the input and output of each middle S-box (after the constant error has been removed). It removes it from the S-
cryptanalysis/chow/sbox.go:87
↓ 1 callersFunctioncompress
compress compute the AND of neighboring bits in src and stores the result in dst.
constructions/full/full.go:67
↓ 1 callersMethodcompress
compress maps a permuted round matrix to a matrix over F_{2^8} by converting each block to its MixColumns coefficient.
cryptanalysis/toy/affine.go:94
↓ 1 callersMethodfindBlockOfInverse
findBlockOfInverse finds any S-box transpositions or self-equivalence noise that may be hiding in the given block of the last affine layer and returns
cryptanalysis/xiao/affine.go:110
↓ 1 callersMethodfindConstant
findConstant returns the constant error on the input and output of the middle S-box at position pos.
cryptanalysis/chow/sbox.go:106
↓ 1 callersMethodfindLinear
findLinear returns the linear error on the input and output of the mmiddle S-box at position pos (once the constant error has been removed). The funct
cryptanalysis/chow/sbox.go:126
↓ 1 callersMethodfindPermutation
FindPermutation is called on the first affine layer. It returns the permutation matrix corresponding to the row permutation that has occured to the fi
cryptanalysis/xiao/affine.go:68
↓ 1 callersFunctiongenerateAffineMasks
generateAffineMasks creates the random external masks for the construction.
constructions/full/keygen.go:17
↓ 1 callersFunctiongenerateAffineMasks
generateAffineMasks creates the random external masks for the construction.
constructions/toy/keygen.go:16
↓ 1 callersFunctiongeneratePermutation
generatePermutation returns a randomly chosen permutation of [0, n) and its inverse.
constructions/full/keygen.go:34
↓ 1 callersFunctiongenerateSboxSelfEq
generateSboxSelfEq returns a randomly chosen affine self-equivalence of the AND gate. This information is packed into a [6]bool. The first pair of boo
constructions/full/keygen.go:57
↓ 1 callersFunctiongenerateSelfEquivalence
generateSelfEquivalence returns a random self-equivalence of the S-box layer, defined by stateSize and compressSize.
constructions/full/keygen.go:72
↓ 1 callersFunctiongenerateSelfEquivalence
generateSelfEquivalence returns a random self-equivalence of the S-box layer, so that \zeta(x) = bInv(\zeta(a(x))).
constructions/toy/keygen.go:74
↓ 1 callersMethodinputParasite
inputParasite returns the non-GF(2^8) part of the parasite on the output at position col.
cryptanalysis/chow/affine.go:78
↓ 1 callersFunctionisAS
isAS returns true if the given Byte encoding might be an AS structure, with 2 4-bit S-boxes.
cryptanalysis/chow/chow.go:42
↓ 1 callersMethodisBlockOfInverse
isBlockOfInverse takes a candidate solution for the given block of the matrix and returns true if it is valid and false if it isn't.
cryptanalysis/xiao/affine.go:134
↓ 1 callersFunctionmakeLastRound
()
constructions/bes/constants.go:135
↓ 1 callersFunctionmakeMixColumns
()
constructions/bes/constants.go:106
↓ 1 callersFunctionmakeOneMixColumns
()
constructions/bes/constants.go:86
↓ 1 callersFunctionmakeOneSubBytes
()
constructions/bes/constants.go:10
↓ 1 callersFunctionmakeRound
()
constructions/bes/constants.go:127
↓ 1 callersFunctionmakeRoundConst
()
constructions/bes/constants.go:131
↓ 1 callersFunctionmakeShiftRows
()
constructions/bes/constants.go:64
↓ 1 callersFunctionmbInverseEncoding
mbInverseEncoding encodes the output of a MB^(-1) Table / the input of a LowXORTable. All randomness is derived from the random source; round is the
constructions/chow/keygen_primitives.go:156
↓ 1 callersMethodoutputParasite
outputParasite returns the non-GF(2^8) part of the parasite on the output at position row.
cryptanalysis/chow/affine.go:103
↓ 1 callersFunctionparseBlockAffine
(in []byte)
constructions/full/full.go:18
↓ 1 callersMethodpermuteBy
permuteBy permutes the S-boxes according to the 128-by-128 permutation matrix perm. If forwards = true, the forwards permutation is used; else, the ba
cryptanalysis/xiao/sbox.go:37
↓ 1 callersFunctionrotw
(w uint32)
constructions/saes/saes.go:58
↓ 1 callersMethodserialize
(out *[]byte)
constructions/full/full.go:56
↓ 1 callersMethodshiftRows
shiftRows permutes the bytes of the first block of block, according to AES' ShiftRows operation.
constructions/chow/chow.go:73
↓ 1 callersMethodstripScalars
stripScalars gets rid of unknown scalars in each block of the affine layer. It leaves it exactly equal to MixColumns, but there is an unknown scalar i
cryptanalysis/chow/affine.go:129
↓ 1 callersFunctiontyiEncoding
tyiEncoding encodes the output of a T-Box/Tyi Table / the input of a HighXORTable. All randomness is derived from the random source; round is the cur
constructions/chow/keygen_primitives.go:145
↓ 1 callersMethodunpermute
unpermute transforms sm until it is equal to a compressed round matrix. sm is mutated to the compressed round matrix, and permIn and permOut are the p
cryptanalysis/toy/small_matrix.go:58
↓ 1 callersMethodunpermuteStep
unpermuteStep is one step of the dynamic programming algorithm. It works by moving different twos to the diagonal and checking if this leads to a part
cryptanalysis/toy/small_matrix.go:69
↓ 1 callersMethodwhiten
whiten puts an xor-mask on the input to each S-box so that S(0x00) = 0x00.
cryptanalysis/xiao/sbox.go:53
FunctionBenchmarkDeadEncrypt
A "Dead" Encryption is one based on serialized tables, like we'd have in a real use case.
constructions/xiao/xiao_test.go:147
FunctionBenchmarkDeadEncrypt
A "Dead" Encryption is one based on serialized tables, like we'd have in a real use case.
constructions/chow/chow_test.go:164
FunctionBenchmarkGenerateEncryptionKeys
(b *testing.B)
constructions/xiao/xiao_test.go:126
FunctionBenchmarkGenerateEncryptionKeys
(b *testing.B)
constructions/chow/chow_test.go:143
FunctionBenchmarkGolangEncrypt
(b *testing.B)
constructions/saes/saes_test.go:280
FunctionBenchmarkLiveEncrypt
A "Live" Encryption is one based on table abstractions, so many computations are performed on-demand.
constructions/xiao/xiao_test.go:134
FunctionBenchmarkLiveEncrypt
A "Live" Encryption is one based on table abstractions, so many computations are performed on-demand.
constructions/chow/chow_test.go:151
FunctionBenchmarkStandardDecrypt
(b *testing.B)
constructions/saes/saes_test.go:266
FunctionBenchmarkStandardEncrypt
(b *testing.B)
constructions/saes/saes_test.go:252
FunctionBlockByteXORTables
Generate the XOR Tables for squashing the result of a BlockMatrix.
constructions/common/keygen_tools.go:52
FunctionBlockNibbleXORTables
SliceEncoding(position, subPosition int) encoding.Nibble Encodes the output of a matrix slice. position: Position in the state array, counted in *byt
constructions/common/keygen_tools.go:25
MethodBlockSize
BlockSize returns the block size of AES. (Necessary to implement cipher.Block.)
constructions/xiao/xiao.go:25
MethodBlockSize
BlockSize returns the block size of AES. (Necessary to implement cipher.Block.)
constructions/full/full.go:79
MethodBlockSize
BlockSize returns the block size of BES. (Necessary to implement cipher.Block.)
constructions/bes/bes.go:28
MethodBlockSize
BlockSize returns the block size of AES. (Necessary to implement cipher.Block.)
constructions/toy/toy.go:14
MethodDecode
(in [16]byte)
constructions/toy/keygen.go:44
MethodDecode
(in [16]byte)
cryptanalysis/xiao/affine.go:44
MethodDecode
(in [16]byte)
cryptanalysis/xiao/sbox.go:31
MethodDecode
(in [16]byte)
cryptanalysis/toy/encoding.go:19
MethodDecode
(in [16]byte)
cryptanalysis/toy/encoding.go:47
MethodDecode
(in [16]byte)
cryptanalysis/toy/small_matrix.go:30
MethodDecode
(in [16]byte)
cryptanalysis/toy/affine.go:26
MethodDecode
(in byte)
cryptanalysis/toy/parasite.go:22
MethodDecode
(in [16]byte)
cryptanalysis/chow/affine.go:40
MethodDecode
(in byte)
cryptanalysis/chow/sbox.go:32
MethodDecode
(in [16]byte)
cryptanalysis/chow/sbox.go:43
MethodDecrypt
Decrypt decrypts the first block in src into dst. Dst and src may point at the same memory.
constructions/xiao/xiao.go:33
MethodDecrypt
Decrypt is not implemented.
constructions/full/full.go:99
MethodEncode
(in [16]byte)
constructions/toy/keygen.go:36
MethodEncode
(in [16]byte)
cryptanalysis/xiao/affine.go:40
MethodEncode
(in [16]byte)
cryptanalysis/xiao/sbox.go:27
MethodEncode
(in [16]byte)
cryptanalysis/xiao/xiao.go:43
MethodEncode
(in [16]byte)
cryptanalysis/toy/encoding.go:10
MethodEncode
(in [16]byte)
cryptanalysis/toy/small_matrix.go:22
MethodEncode
(in [16]byte)
cryptanalysis/toy/affine.go:22
MethodEncode
(in byte)
cryptanalysis/toy/parasite.go:13
MethodEncode
(in [16]byte)
cryptanalysis/chow/affine.go:36
MethodEncode
(in byte)
cryptanalysis/chow/sbox.go:28
MethodEncode
(in [16]byte)
cryptanalysis/chow/sbox.go:39
MethodEncrypt
(dst, src []byte)
cryptanalysis/chow/chow.go:59
FunctionExample_encrypt
()
constructions/saes/saes_test.go:16
FunctionGenerateMasks
GenerateMasks generates input and output encodings for a white-box AES construction.
constructions/common/keygen_primitives.go:36
← previousnext →101–200 of 266, ranked by callers