Skip to content

Commit a4c6277

Browse files
committed
refactor: IBlockCrypto
1 parent 79b2003 commit a4c6277

File tree

13 files changed

+24
-55
lines changed

13 files changed

+24
-55
lines changed

src/CryptoBase.Abstractions/SymmetricCryptos/BlockCryptoBase.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ public virtual void Decrypt(ReadOnlySpan<byte> source, Span<byte> destination)
1818
ArgumentOutOfRangeException.ThrowIfLessThan(destination.Length, source.Length, nameof(destination));
1919
}
2020

21-
public virtual void Reset() { }
22-
2321
public virtual void Dispose()
2422
{
2523
GC.SuppressFinalize(this);

src/CryptoBase.Abstractions/SymmetricCryptos/IBlockCrypto.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
namespace CryptoBase.Abstractions.SymmetricCryptos;
22

3-
public interface IBlockCrypto : ISymmetricCrypto, ICanReset
3+
public interface IBlockCrypto : ISymmetricCrypto
44
{
55
/// <summary>
66
/// 块大小,单位字节

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CBCBlockMode.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public CBCBlockMode(IBlockCrypto crypto, ReadOnlySpan<byte> iv)
2929
public override void Encrypt(ReadOnlySpan<byte> source, Span<byte> destination)
3030
{
3131
base.Encrypt(source, destination);
32+
Reset();
3233

3334
FastUtils.Xor(_block, source, destination, BlockSize);
3435

@@ -40,6 +41,7 @@ public override void Encrypt(ReadOnlySpan<byte> source, Span<byte> destination)
4041
public override void Decrypt(ReadOnlySpan<byte> source, Span<byte> destination)
4142
{
4243
base.Decrypt(source, destination);
44+
Reset();
4345

4446
_internalBlockCrypto.Decrypt(source, destination);
4547

@@ -48,11 +50,9 @@ public override void Decrypt(ReadOnlySpan<byte> source, Span<byte> destination)
4850
source.Slice(0, BlockSize).CopyTo(_block);
4951
}
5052

51-
public override void Reset()
53+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
54+
private void Reset()
5255
{
53-
base.Reset();
54-
_internalBlockCrypto.Reset();
55-
5656
_iv.Span.CopyTo(_block);
5757
}
5858

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CFB128StreamMode.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ public void Update(ReadOnlySpan<byte> source, Span<byte> destination)
8181

8282
public void Reset()
8383
{
84-
_internalBlockCrypto.Reset();
8584
_index = 0;
8685

8786
_iv.CopyTo(_block);

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CTR/CTR128StreamMode.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ private void UpdateCore(ReadOnlySpan<byte> source, Span<byte> destination)
8686

8787
public void Reset()
8888
{
89-
_internalBlockCrypto.Reset();
9089
_index = 0;
9190

9291
Span<byte> c = _counter.AsSpan(0, BlockSize);

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CTR/CTR128StreamModeBlock16X86.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ private void UpdateKeyStream()
108108

109109
public void Reset()
110110
{
111-
_internalBlockCrypto.Reset();
112111
_index = 0;
113112
_counterV0 = _iCounter;
114113
_counterV1 = _counterV0.AddTwo128Le();

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CTR/CTR128StreamModeBlock4X86.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ private void UpdateKeyStream()
9595

9696
public void Reset()
9797
{
98-
_internalBlockCrypto.Reset();
9998
_index = 0;
10099
_counterV0 = _iCounter;
101100
_counterV1 = _counterV0.Inc128Le();

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CTR/CTR128StreamModeBlock8AvxX86.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ private void UpdateKeyStream()
9393

9494
public void Reset()
9595
{
96-
_internalBlockCrypto.Reset();
9796
_index = 0;
9897
_counterV0 = _iCounter;
9998
_counterV1 = _counterV0.AddTwo128Le();

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CTR/CTR128StreamModeBlock8X86.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ private void UpdateKeyStream()
109109

110110
public void Reset()
111111
{
112-
_internalBlockCrypto.Reset();
113112
_index = 0;
114113
_counterV0 = _iCounter;
115114
_counterV1 = _counterV0.Inc128Le();

src/CryptoBase/SymmetricCryptos/BlockCryptoModes/CTR/CTR128StreamModeX86.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ public void Update(ReadOnlySpan<byte> source, Span<byte> destination)
7979

8080
public void Reset()
8181
{
82-
_internalBlockCrypto.Reset();
8382
_index = 0;
8483
_counterV = _iCounter;
8584
}

0 commit comments

Comments
 (0)