mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
tools: make v test-cleancode test everything by default (#10050)
This commit is contained in:
@@ -40,20 +40,20 @@ pub fn new_cipher(key []byte) AesCipher {
|
||||
|
||||
// block_size returns the block size of the checksum in bytes.
|
||||
pub fn (c &AesCipher) block_size() int {
|
||||
return block_size
|
||||
return aes.block_size
|
||||
}
|
||||
|
||||
// encrypt encrypts the blocks in `src` to `dst`.
|
||||
// Please note: `dst` and `src` are both mutable for performance reasons.
|
||||
pub fn (c &AesCipher) encrypt(mut dst []byte, mut src []byte) {
|
||||
if src.len < block_size {
|
||||
if src.len < aes.block_size {
|
||||
panic('crypto.aes: input not full block')
|
||||
}
|
||||
if dst.len < block_size {
|
||||
if dst.len < aes.block_size {
|
||||
panic('crypto.aes: output not full block')
|
||||
}
|
||||
// if subtle.inexact_overlap(dst[:block_size], src[:block_size]) {
|
||||
if subtle.inexact_overlap((*dst)[..block_size], (*src)[..block_size]) {
|
||||
if subtle.inexact_overlap((*dst)[..aes.block_size], (*src)[..aes.block_size]) {
|
||||
panic('crypto.aes: invalid buffer overlap')
|
||||
}
|
||||
// for now use generic version
|
||||
@@ -63,13 +63,13 @@ pub fn (c &AesCipher) encrypt(mut dst []byte, mut src []byte) {
|
||||
// decrypt decrypts the blocks in `src` to `dst`.
|
||||
// Please note: `dst` and `src` are both mutable for performance reasons.
|
||||
pub fn (c &AesCipher) decrypt(mut dst []byte, mut src []byte) {
|
||||
if src.len < block_size {
|
||||
if src.len < aes.block_size {
|
||||
panic('crypto.aes: input not full block')
|
||||
}
|
||||
if dst.len < block_size {
|
||||
if dst.len < aes.block_size {
|
||||
panic('crypto.aes: output not full block')
|
||||
}
|
||||
if subtle.inexact_overlap((*dst)[..block_size], (*src)[..block_size]) {
|
||||
if subtle.inexact_overlap((*dst)[..aes.block_size], (*src)[..aes.block_size]) {
|
||||
panic('crypto.aes: invalid buffer overlap')
|
||||
}
|
||||
// for now use generic version
|
||||
|
||||
@@ -22,7 +22,6 @@ fn test_crypto_aes() {
|
||||
mode := aes.new_cbc(block, iv)
|
||||
cipher_clone := ciphertext.clone()
|
||||
mode.encrypt_blocks(mut ciphertext, cipher_clone)
|
||||
assert ciphertext.hex() ==
|
||||
'c210459b514668ddc44674885e4979215265a6c44431a248421254ef357a8c2a308a8bddf5623af9df91737562041cf1'
|
||||
assert ciphertext.hex() == 'c210459b514668ddc44674885e4979215265a6c44431a248421254ef357a8c2a308a8bddf5623af9df91737562041cf1'
|
||||
println('ok')
|
||||
}
|
||||
|
||||
@@ -69,14 +69,10 @@ fn encrypt_block_generic(xk []u32, mut dst []byte, src []byte) {
|
||||
s3 = t3
|
||||
}
|
||||
// Last round uses s-box directly and XORs to produce output.
|
||||
s0 = s_box0[t0 >> 24] << 24 |
|
||||
s_box0[t1 >> 16 & 0xff] << 16 | u32(s_box0[t2 >> 8 & 0xff] << 8) | s_box0[t3 & u32(0xff)]
|
||||
s1 = s_box0[t1 >> 24] << 24 |
|
||||
s_box0[t2 >> 16 & 0xff] << 16 | u32(s_box0[t3 >> 8 & 0xff] << 8) | s_box0[t0 & u32(0xff)]
|
||||
s2 = s_box0[t2 >> 24] << 24 |
|
||||
s_box0[t3 >> 16 & 0xff] << 16 | u32(s_box0[t0 >> 8 & 0xff] << 8) | s_box0[t1 & u32(0xff)]
|
||||
s3 = s_box0[t3 >> 24] << 24 |
|
||||
s_box0[t0 >> 16 & 0xff] << 16 | u32(s_box0[t1 >> 8 & 0xff] << 8) | s_box0[t2 & u32(0xff)]
|
||||
s0 = s_box0[t0 >> 24] << 24 | s_box0[t1 >> 16 & 0xff] << 16 | u32(s_box0[t2 >> 8 & 0xff] << 8) | s_box0[t3 & u32(0xff)]
|
||||
s1 = s_box0[t1 >> 24] << 24 | s_box0[t2 >> 16 & 0xff] << 16 | u32(s_box0[t3 >> 8 & 0xff] << 8) | s_box0[t0 & u32(0xff)]
|
||||
s2 = s_box0[t2 >> 24] << 24 | s_box0[t3 >> 16 & 0xff] << 16 | u32(s_box0[t0 >> 8 & 0xff] << 8) | s_box0[t1 & u32(0xff)]
|
||||
s3 = s_box0[t3 >> 24] << 24 | s_box0[t0 >> 16 & 0xff] << 16 | u32(s_box0[t1 >> 8 & 0xff] << 8) | s_box0[t2 & u32(0xff)]
|
||||
s0 ^= xk[k + 0]
|
||||
s1 ^= xk[k + 1]
|
||||
s2 ^= xk[k + 2]
|
||||
@@ -120,14 +116,10 @@ fn decrypt_block_generic(xk []u32, mut dst []byte, src []byte) {
|
||||
s3 = t3
|
||||
}
|
||||
// Last round uses s-box directly and XORs to produce output.
|
||||
s0 = u32(s_box1[t0 >> 24]) << 24 |
|
||||
u32(s_box1[t3 >> 16 & 0xff]) << 16 | u32(s_box1[t2 >> 8 & 0xff] << 8) | u32(s_box1[t1 & u32(0xff)])
|
||||
s1 = u32(s_box1[t1 >> 24]) << 24 |
|
||||
u32(s_box1[t0 >> 16 & 0xff]) << 16 | u32(s_box1[t3 >> 8 & 0xff] << 8) | u32(s_box1[t2 & u32(0xff)])
|
||||
s2 = u32(s_box1[t2 >> 24]) << 24 |
|
||||
u32(s_box1[t1 >> 16 & 0xff]) << 16 | u32(s_box1[t0 >> 8 & 0xff] << 8) | u32(s_box1[t3 & u32(0xff)])
|
||||
s3 = u32(s_box1[t3 >> 24]) << 24 |
|
||||
u32(s_box1[t2 >> 16 & 0xff]) << 16 | u32(s_box1[t1 >> 8 & 0xff] << 8) | u32(s_box1[t0 & u32(0xff)])
|
||||
s0 = u32(s_box1[t0 >> 24]) << 24 | u32(s_box1[t3 >> 16 & 0xff]) << 16 | u32(s_box1[t2 >> 8 & 0xff] << 8) | u32(s_box1[t1 & u32(0xff)])
|
||||
s1 = u32(s_box1[t1 >> 24]) << 24 | u32(s_box1[t0 >> 16 & 0xff]) << 16 | u32(s_box1[t3 >> 8 & 0xff] << 8) | u32(s_box1[t2 & u32(0xff)])
|
||||
s2 = u32(s_box1[t2 >> 24]) << 24 | u32(s_box1[t1 >> 16 & 0xff]) << 16 | u32(s_box1[t0 >> 8 & 0xff] << 8) | u32(s_box1[t3 & u32(0xff)])
|
||||
s3 = u32(s_box1[t3 >> 24]) << 24 | u32(s_box1[t2 >> 16 & 0xff]) << 16 | u32(s_box1[t1 >> 8 & 0xff] << 8) | u32(s_box1[t0 & u32(0xff)])
|
||||
s0 ^= xk[k + 0]
|
||||
s1 ^= xk[k + 1]
|
||||
s2 ^= xk[k + 2]
|
||||
@@ -141,8 +133,7 @@ fn decrypt_block_generic(xk []u32, mut dst []byte, src []byte) {
|
||||
|
||||
// Apply s_box0 to each byte in w.
|
||||
fn subw(w u32) u32 {
|
||||
return u32(s_box0[w >> 24]) << 24 | u32(s_box0[w >> 16 & 0xff] << 16) | u32(s_box0[w >> 8 &
|
||||
0xff] << 8) | u32(s_box0[w & u32(0xff)])
|
||||
return u32(s_box0[w >> 24]) << 24 | u32(s_box0[w >> 16 & 0xff] << 16) | u32(s_box0[w >> 8 & 0xff] << 8) | u32(s_box0[w & u32(0xff)])
|
||||
}
|
||||
|
||||
// Rotate
|
||||
@@ -184,8 +175,7 @@ fn expand_key_generic(key []byte, mut enc []u32, mut dec []u32) {
|
||||
for j in 0 .. 4 {
|
||||
mut x := enc[ei + j]
|
||||
if i > 0 && i + 4 < n {
|
||||
x = td0[s_box0[x >> 24]] ^ td1[s_box0[x >> 16 & 0xff]] ^ td2[s_box0[x >> 8 & 0xff]] ^
|
||||
td3[s_box0[x & u32(0xff)]]
|
||||
x = td0[s_box0[x >> 24]] ^ td1[s_box0[x >> 16 & 0xff]] ^ td2[s_box0[x >> 8 & 0xff]] ^ td3[s_box0[x & u32(0xff)]]
|
||||
}
|
||||
dec[i + j] = x
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ module aes
|
||||
fn new_cipher_generic(key []byte) AesCipher {
|
||||
n := key.len + 28
|
||||
mut c := AesCipher{
|
||||
enc: []u32{len: (n)}
|
||||
dec: []u32{len: (n)}
|
||||
enc: []u32{len: n}
|
||||
dec: []u32{len: n}
|
||||
}
|
||||
expand_key_generic(key, mut c.enc, mut c.dec)
|
||||
return c
|
||||
|
||||
Reference in New Issue
Block a user