Expose internal tag length, 0 if none
This commit is contained in:
parent
2fde43b1fc
commit
7ffbf41b30
@ -55,6 +55,7 @@ typedef struct {
|
|||||||
|
|
||||||
- (void)configureEncryptionWithCipherKey:(nullable ZeroingData *)cipherKey hmacKey:(nullable ZeroingData *)hmacKey;
|
- (void)configureEncryptionWithCipherKey:(nullable ZeroingData *)cipherKey hmacKey:(nullable ZeroingData *)hmacKey;
|
||||||
- (int)digestLength;
|
- (int)digestLength;
|
||||||
|
- (int)tagLength;
|
||||||
|
|
||||||
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length;
|
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length;
|
||||||
- (BOOL)encryptBytes:(const uint8_t *)bytes length:(NSInteger)length dest:(uint8_t *)dest destLength:(NSInteger *)destLength flags:(const CryptoFlags *_Nullable)flags error:(NSError **)error;
|
- (BOOL)encryptBytes:(const uint8_t *)bytes length:(NSInteger)length dest:(uint8_t *)dest destLength:(NSInteger *)destLength flags:(const CryptoFlags *_Nullable)flags error:(NSError **)error;
|
||||||
@ -68,6 +69,7 @@ typedef struct {
|
|||||||
|
|
||||||
- (void)configureDecryptionWithCipherKey:(nullable ZeroingData *)cipherKey hmacKey:(nullable ZeroingData *)hmacKey;
|
- (void)configureDecryptionWithCipherKey:(nullable ZeroingData *)cipherKey hmacKey:(nullable ZeroingData *)hmacKey;
|
||||||
- (int)digestLength;
|
- (int)digestLength;
|
||||||
|
- (int)tagLength;
|
||||||
|
|
||||||
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length;
|
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length;
|
||||||
- (BOOL)decryptBytes:(const uint8_t *)bytes length:(NSInteger)length dest:(uint8_t *)dest destLength:(NSInteger *)destLength flags:(const CryptoFlags *_Nullable)flags error:(NSError **)error;
|
- (BOOL)decryptBytes:(const uint8_t *)bytes length:(NSInteger)length dest:(uint8_t *)dest destLength:(NSInteger *)destLength flags:(const CryptoFlags *_Nullable)flags error:(NSError **)error;
|
||||||
|
@ -97,6 +97,11 @@ static const NSInteger CryptoAEADTagLength = 16;
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (int)tagLength
|
||||||
|
{
|
||||||
|
return CryptoAEADTagLength;
|
||||||
|
}
|
||||||
|
|
||||||
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length
|
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length
|
||||||
{
|
{
|
||||||
return safe_crypto_capacity(length, CryptoAEADTagLength);
|
return safe_crypto_capacity(length, CryptoAEADTagLength);
|
||||||
|
@ -73,6 +73,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
- (id<Decrypter>)decrypter;
|
- (id<Decrypter>)decrypter;
|
||||||
|
|
||||||
- (NSInteger)digestLength;
|
- (NSInteger)digestLength;
|
||||||
|
- (NSInteger)tagLength;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
@property (nonatomic, strong) NSString *cipherAlgorithm;
|
@property (nonatomic, strong) NSString *cipherAlgorithm;
|
||||||
@property (nonatomic, strong) NSString *digestAlgorithm;
|
@property (nonatomic, strong) NSString *digestAlgorithm;
|
||||||
@property (nonatomic, assign) NSInteger digestLength;
|
@property (nonatomic, assign) NSInteger digestLength;
|
||||||
|
@property (nonatomic, assign) NSInteger tagLength;
|
||||||
|
|
||||||
@property (nonatomic, strong) id<Encrypter> encrypter;
|
@property (nonatomic, strong) id<Encrypter> encrypter;
|
||||||
@property (nonatomic, strong) id<Decrypter> decrypter;
|
@property (nonatomic, strong) id<Decrypter> decrypter;
|
||||||
@ -147,6 +148,7 @@
|
|||||||
|
|
||||||
NSAssert(self.encrypter.digestLength == self.decrypter.digestLength, @"Digest length mismatch in encrypter/decrypter");
|
NSAssert(self.encrypter.digestLength == self.decrypter.digestLength, @"Digest length mismatch in encrypter/decrypter");
|
||||||
self.digestLength = self.encrypter.digestLength;
|
self.digestLength = self.encrypter.digestLength;
|
||||||
|
self.tagLength = self.encrypter.tagLength;
|
||||||
|
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
@ -113,6 +113,11 @@ const NSInteger CryptoCBCMaxHMACLength = 100;
|
|||||||
self.digest = NULL;
|
self.digest = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (int)tagLength
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length
|
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length
|
||||||
{
|
{
|
||||||
return safe_crypto_capacity(length, self.digestLength + self.cipherIVLength);
|
return safe_crypto_capacity(length, self.digestLength + self.cipherIVLength);
|
||||||
|
@ -95,6 +95,11 @@ static const NSInteger CryptoCTRTagLength = 32;
|
|||||||
self.digest = NULL;
|
self.digest = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (int)tagLength
|
||||||
|
{
|
||||||
|
return CryptoCTRTagLength;
|
||||||
|
}
|
||||||
|
|
||||||
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length
|
- (NSInteger)encryptionCapacityWithLength:(NSInteger)length
|
||||||
{
|
{
|
||||||
return safe_crypto_capacity(length, PacketOpcodeLength + PacketSessionIdLength + PacketReplayIdLength + PacketReplayTimestampLength + CryptoCTRTagLength);
|
return safe_crypto_capacity(length, PacketOpcodeLength + PacketSessionIdLength + PacketReplayIdLength + PacketReplayTimestampLength + CryptoCTRTagLength);
|
||||||
|
Loading…
Reference in New Issue
Block a user