Comments (5)
Has any work about that already started?
from delphiencryptioncompendium.
If somebody helps implementing this, things will get worked out quicker.
...my next planned hash target would have been SHA3. But that can take time as I got stuck
a bit on adapting an existing Pascal version I have.
Another thing regarding Argon2: it is internally based on blake2 and that one is based
on ChaCha internally. So it might be good to get those implemented first...
from delphiencryptioncompendium.
https://github.com/JackTrapper/argon2-for-delphi
maybe this can be ok, I will check the quality of the code
from delphiencryptioncompendium.
https://github.com/JackTrapper/argon2-for-delphi
maybe this can be ok, I will check the quality of the code
Warning: This implementation is incomplete. There are items in the Argon2 specification that are undocumented.
from delphiencryptioncompendium.
I would welcome contributions if they fit and the quality is ok.
Some points to note:
- Such new classes (Aragon2 has several variants and they inherit from a common base as the code referenced shows) should inherit from the otherwise still unused TPasswordHash class.
- Everything which is of more common nature (means: doesn't strictly belong to Aragon2) should go in that parent class if possible so other classes can benefit from this
- The Base64 stuff contained in there should be replaced with the Base64 implementation from DECFormats if possible
- Unit tests should be submitted as well. At least 2-3 test vectors per algorithm.
- I wouldn't mind if for the start only those variants which look ok in the referenced code are contributed
- It might be good to contribute stuff stepwise so I don't get lost when reviewing and integrating this. Bear in mind that my Git knowledge is still rough...
- Code should be properly XMLDOC commented and those long comments in the referenced code should be looked at. Some might be candidates for removal and many others are candidates for formatting them more compact.
- Code must of course be adapted in such a way that it meets the general current interface of DEC. We might need to talk about how to specify these additional parameters the algorithm has, but in doubt for a first start make constants out of them until we got everything working again and then we decide how to do it or suggest a way.
So if you try to follow these points fire up your IDE and start to adapt that referenced code! I'd be happy if we can get it into some fitting form...
from delphiencryptioncompendium.
Related Issues (20)
- Urgent: Migration from DEC 5.2 library (Part2 - decrypt).
- Are there plans to support bcrypt ? HOT 2
- DECCipherInterface error HOT 12
- THash_SHA1.PBKDF2 create wrong Results HOT 13
- Range Check Error in TDECCipherModes.EncodeCBCx() HOT 5
- no compile on Linux HOT 18
- Incorrect auth tag generated for GCM mode when feeding data using small chunks HOT 8
- Missing padding for ECB mode HOT 12
- 3DES DoEncode()/DoDecode() Source overwriting Dest problem HOT 10
- Integer Overflow when hashing a large TFilestream HOT 5
- Installing in Delphi 2010 HOT 1
- Implement HMACStream and HMACFile HOT 7
- Question about processing of last block of data using Done HOT 17
- Testcases failure HOT 9
- "VCL" vs "VLC" typo in samples HOT 1
- Random padding / Confusion about "IV" padding vs "Last block" padding? HOT 4
- Access violation if GCM mode is set after cipher is initialized
- Change IV HOT 2
- Range Check Exception when using KDF with empty password HOT 2
- Support for AEGIS 256 HOT 3
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 delphiencryptioncompendium.