Use AES/GCM instead of AES/CTR and HMAC.
This makes us Suite B compliant and saves 32 bytes per frame. The AES/GCM implementation refuses to decrypt the frame header before checking the MAC, so we have to use AES/CTR to peek at the header. The header is still covered by the MAC, and we still check it after peeking!
Showing
- api/net/sf/briar/api/crypto/CryptoComponent.java 6 additions, 5 deletionsapi/net/sf/briar/api/crypto/CryptoComponent.java
- api/net/sf/briar/api/crypto/IvEncoder.java 8 additions, 0 deletionsapi/net/sf/briar/api/crypto/IvEncoder.java
- api/net/sf/briar/api/transport/TransportConstants.java 1 addition, 1 deletionapi/net/sf/briar/api/transport/TransportConstants.java
- components/net/sf/briar/crypto/CryptoComponentImpl.java 14 additions, 12 deletionscomponents/net/sf/briar/crypto/CryptoComponentImpl.java
- components/net/sf/briar/crypto/FrameIvEncoder.java 26 additions, 0 deletionscomponents/net/sf/briar/crypto/FrameIvEncoder.java
- components/net/sf/briar/crypto/FramePeekingIvEncoder.java 20 additions, 0 deletionscomponents/net/sf/briar/crypto/FramePeekingIvEncoder.java
- components/net/sf/briar/transport/ConnectionReaderFactoryImpl.java 8 additions, 10 deletions...s/net/sf/briar/transport/ConnectionReaderFactoryImpl.java
- components/net/sf/briar/transport/ConnectionReaderImpl.java 8 additions, 2 deletionscomponents/net/sf/briar/transport/ConnectionReaderImpl.java
- components/net/sf/briar/transport/ConnectionWriterFactoryImpl.java 6 additions, 10 deletions...s/net/sf/briar/transport/ConnectionWriterFactoryImpl.java
- components/net/sf/briar/transport/ConnectionWriterImpl.java 1 addition, 1 deletioncomponents/net/sf/briar/transport/ConnectionWriterImpl.java
- components/net/sf/briar/transport/Frame.java 1 addition, 2 deletionscomponents/net/sf/briar/transport/Frame.java
- components/net/sf/briar/transport/IncomingAuthenticationLayerImpl.java 0 additions, 61 deletions...t/sf/briar/transport/IncomingAuthenticationLayerImpl.java
- components/net/sf/briar/transport/IncomingEncryptionLayerImpl.java 27 additions, 20 deletions...s/net/sf/briar/transport/IncomingEncryptionLayerImpl.java
- components/net/sf/briar/transport/OutgoingAuthenticationLayerImpl.java 0 additions, 51 deletions...t/sf/briar/transport/OutgoingAuthenticationLayerImpl.java
- components/net/sf/briar/transport/OutgoingEncryptionLayerImpl.java 14 additions, 11 deletions...s/net/sf/briar/transport/OutgoingEncryptionLayerImpl.java
- test/build.xml 1 addition, 0 deletionstest/build.xml
- test/net/sf/briar/crypto/FramePeekingTest.java 44 additions, 0 deletionstest/net/sf/briar/crypto/FramePeekingTest.java
- test/net/sf/briar/crypto/KeyDerivationTest.java 3 additions, 5 deletionstest/net/sf/briar/crypto/KeyDerivationTest.java
- test/net/sf/briar/transport/ConnectionReaderImplTest.java 5 additions, 85 deletionstest/net/sf/briar/transport/ConnectionReaderImplTest.java
- test/net/sf/briar/transport/ConnectionWriterImplTest.java 8 additions, 24 deletionstest/net/sf/briar/transport/ConnectionWriterImplTest.java
Loading
Please register or sign in to comment