mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-26 04:06:18 +08:00
sm4: xts sm4ni arm64, fix duplicated name issue #151
This commit is contained in:
parent
1019226803
commit
8253e1be8e
@ -38,19 +38,31 @@ func (b *sm4CipherNI) NewXTSDecrypter(encryptedTweak *[BlockSize]byte, isGB bool
|
|||||||
|
|
||||||
func (x *xtsNI) BlockSize() int { return BlockSize }
|
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) {
|
func (x *xtsNI) CryptBlocks(dst, src []byte) {
|
||||||
validateXtsInput(dst, src)
|
validateXtsInput(dst, src)
|
||||||
if x.enc == xtsEncrypt {
|
if x.enc == xtsEncrypt {
|
||||||
if x.isGB {
|
if x.isGB {
|
||||||
encryptSm4XtsGB(&x.b.enc[0], &x.tweak, dst, src)
|
encryptSm4NiXtsGB(&x.b.enc[0], &x.tweak, dst, src)
|
||||||
} else {
|
} else {
|
||||||
encryptSm4Xts(&x.b.enc[0], &x.tweak, dst, src)
|
encryptSm4NiXts(&x.b.enc[0], &x.tweak, dst, src)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if x.isGB {
|
if x.isGB {
|
||||||
decryptSm4XtsGB(&x.b.dec[0], &x.tweak, dst, src)
|
decryptSm4NiXtsGB(&x.b.dec[0], &x.tweak, dst, src)
|
||||||
} else {
|
} else {
|
||||||
decryptSm4Xts(&x.b.dec[0], &x.tweak, dst, src)
|
decryptSm4NiXts(&x.b.dec[0], &x.tweak, dst, src)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,8 +70,8 @@
|
|||||||
#define srcPtrLen R4
|
#define srcPtrLen R4
|
||||||
#define I R5
|
#define I R5
|
||||||
|
|
||||||
// func encryptSm4Xts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
// func encryptSm4NiXts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
||||||
TEXT ·encryptSm4Xts(SB),0,$128-64
|
TEXT ·encryptSm4NiXts(SB),0,$128-64
|
||||||
MOVD xk+0(FP), rk
|
MOVD xk+0(FP), rk
|
||||||
MOVD tweak+8(FP), twPtr
|
MOVD tweak+8(FP), twPtr
|
||||||
MOVD dst+16(FP), dstPtr
|
MOVD dst+16(FP), dstPtr
|
||||||
@ -161,8 +161,8 @@ xtsSm4EncDone:
|
|||||||
VST1 [TW.B16], (twPtr)
|
VST1 [TW.B16], (twPtr)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
// func encryptSm4XtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
// func encryptSm4NiXtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
||||||
TEXT ·encryptSm4XtsGB(SB),0,$128-64
|
TEXT ·encryptSm4NiXtsGB(SB),0,$128-64
|
||||||
MOVD xk+0(FP), rk
|
MOVD xk+0(FP), rk
|
||||||
MOVD tweak+8(FP), twPtr
|
MOVD tweak+8(FP), twPtr
|
||||||
MOVD dst+16(FP), dstPtr
|
MOVD dst+16(FP), dstPtr
|
||||||
@ -253,8 +253,8 @@ xtsSm4EncDone:
|
|||||||
VST1 [TW.B16], (twPtr)
|
VST1 [TW.B16], (twPtr)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
// func decryptSm4Xts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
// func decryptSm4NiXts(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
||||||
TEXT ·decryptSm4Xts(SB),0,$128-64
|
TEXT ·decryptSm4NiXts(SB),0,$128-64
|
||||||
MOVD xk+0(FP), rk
|
MOVD xk+0(FP), rk
|
||||||
MOVD tweak+8(FP), twPtr
|
MOVD tweak+8(FP), twPtr
|
||||||
MOVD dst+16(FP), dstPtr
|
MOVD dst+16(FP), dstPtr
|
||||||
@ -367,8 +367,8 @@ xtsSm4DecDone:
|
|||||||
VST1 [TW.B16], (twPtr)
|
VST1 [TW.B16], (twPtr)
|
||||||
RET
|
RET
|
||||||
|
|
||||||
// func decryptSm4XtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
// func decryptSm4NiXtsGB(xk *uint32, tweak *[BlockSize]byte, dst, src []byte)
|
||||||
TEXT ·decryptSm4XtsGB(SB),0,$128-64
|
TEXT ·decryptSm4NiXtsGB(SB),0,$128-64
|
||||||
MOVD xk+0(FP), rk
|
MOVD xk+0(FP), rk
|
||||||
MOVD tweak+8(FP), twPtr
|
MOVD tweak+8(FP), twPtr
|
||||||
MOVD dst+16(FP), dstPtr
|
MOVD dst+16(FP), dstPtr
|
||||||
|
Loading…
x
Reference in New Issue
Block a user