sm4: xts sm4ni arm64, fix duplicated name issue #151

This commit is contained in:
Sun Yimin 2023-08-25 13:20:55 +08:00 committed by GitHub
parent 1019226803
commit 8253e1be8e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 12 deletions

View File

@ -38,19 +38,31 @@ func (b *sm4CipherNI) NewXTSDecrypter(encryptedTweak *[BlockSize]byte, isGB bool
func (x *xtsNI) BlockSize() int { return BlockSize }
//go:noescape
func encryptSm4NiXts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
//go:noescape
func encryptSm4NiXtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
//go:noescape
func decryptSm4NiXts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
//go:noescape
func decryptSm4NiXtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
func (x *xtsNI) CryptBlocks(dst, src []byte) {
validateXtsInput(dst, src)
if x.enc == xtsEncrypt {
if x.isGB {
encryptSm4XtsGB(&x.b.enc[0], &x.tweak, dst, src)
encryptSm4NiXtsGB(&x.b.enc[0], &x.tweak, dst, src)
} else {
encryptSm4Xts(&x.b.enc[0], &x.tweak, dst, src)
encryptSm4NiXts(&x.b.enc[0], &x.tweak, dst, src)
}
} else {
if x.isGB {
decryptSm4XtsGB(&x.b.dec[0], &x.tweak, dst, src)
decryptSm4NiXtsGB(&x.b.dec[0], &x.tweak, dst, src)
} else {
decryptSm4Xts(&x.b.dec[0], &x.tweak, dst, src)
decryptSm4NiXts(&x.b.dec[0], &x.tweak, dst, src)
}
}
}

View File

@ -70,8 +70,8 @@
#define srcPtrLen R4
#define I R5
// func encryptSm4Xts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·encryptSm4Xts(SB),0,$128-64
// func encryptSm4NiXts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·encryptSm4NiXts(SB),0,$128-64
MOVD xk+0(FP), rk
MOVD tweak+8(FP), twPtr
MOVD dst+16(FP), dstPtr
@ -161,8 +161,8 @@ xtsSm4EncDone:
VST1 [TW.B16], (twPtr)
RET
// func encryptSm4XtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·encryptSm4XtsGB(SB),0,$128-64
// func encryptSm4NiXtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·encryptSm4NiXtsGB(SB),0,$128-64
MOVD xk+0(FP), rk
MOVD tweak+8(FP), twPtr
MOVD dst+16(FP), dstPtr
@ -253,8 +253,8 @@ xtsSm4EncDone:
VST1 [TW.B16], (twPtr)
RET
// func decryptSm4Xts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·decryptSm4Xts(SB),0,$128-64
// func decryptSm4NiXts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·decryptSm4NiXts(SB),0,$128-64
MOVD xk+0(FP), rk
MOVD tweak+8(FP), twPtr
MOVD dst+16(FP), dstPtr
@ -367,8 +367,8 @@ xtsSm4DecDone:
VST1 [TW.B16], (twPtr)
RET
// func decryptSm4XtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·decryptSm4XtsGB(SB),0,$128-64
// func decryptSm4NiXtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
TEXT ·decryptSm4NiXtsGB(SB),0,$128-64
MOVD xk+0(FP), rk
MOVD tweak+8(FP), twPtr
MOVD dst+16(FP), dstPtr