Comments (3)
@vzsg If the cipher/tag pattern is only supported by GCM it's hard to justify the creation of a whole new protocol
I like the idea of appending the tag to the text. Is there some character that we are sure won't appear in the encryption that would be easy to split by as well? If not, just lobbing off the last 12 bytes is easy. We could even make a helper for it.
My vote is for 3. Are there any options you like more than others?
from open-crypto.
"Splitting" was a bad choice of words on my part, I actually meant appending without separator and lobbing off by count.
I'm leaning towards option 3 too. To me, this scheme is a workable compromise even if a caller wants to manipulate the tag separately. Which I think shouldn't really happen among the users of this ciphering utility.
Regarding option 2, there are other authenticated modes of operation, but only GCM is listed in the enum now. CCM also seems to be supported by CLibreSSL.
from open-crypto.
GCM has been removed in #23. This is open for someone to implement.
from open-crypto.
Related Issues (20)
- crashes in Crypto HOT 6
- BCrypt Regression HOT 12
- Random Int max/min HOT 5
- Default AES mode should not be ECB HOT 14
- Add support for authenticated encryption/decryption AES-GCM HOT 11
- Issue when signing JWT HOT 2
- add ECDSA support HOT 6
- OpenSSL 1.1 compatibility HOT 7
- Error: AES256GCM.encrypt: expression type 'Data' is ambiguous without more context
- Random facilities should utilize Swift's RandomNumberGenerator HOT 3
- Reproducible Crash When Encrypting/Decrypting RSA HOT 3
- generate RSA keys HOT 2
- Could the IV be automatically extracted from the encrypted data? HOT 2
- Support for DER encoded x509 certificate. HOT 2
- Crash when reading invalid/malformed key string HOT 1
- Using with iOS HOT 2
- openssl 1.0 support
- consider mirroring public api of apple's cryptokit HOT 1
- Crash when decrypting base64 encoded secret HOT 1
- Should we archive this repo when we migrate to Swift Crypto? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from open-crypto.