Comments (14)
If you leave GPL 3 as only license for your project I cannot borrow code from there as I don't want to make my library "viral". I've choosen APL 2.0 as license.
from delphiencryptioncompendium.
Two good news for you about this one:
- in system.pas there is some CPUID code which might be used to detect whether AVX is available
- since Delphi 11.0 AVX/AVX2 ASM opcodes have been added to the built in ASM so you can write such ASM code. But when you start be please aware that DEC's minimum supported Delphi version is 10.1 starting with the V6.5 which is currently in development.
from delphiencryptioncompendium.
Why not? So just start with it, I'm not holding you up ;-)
from delphiencryptioncompendium.
I can understand the desire to have this implemented. There are a few issues though which might lead to postphoning this a bit.
- I see speed as an important goal, but the library lacks some modern algorithms in some areas which should at least be added in a basic version first (e.g. implementing SHA3 most likely will still take some time as this is a bit tricky)
- While I took over this library and saved it from starvation I'm still no expert in cryptography (I learned quite some things already but am still no expert)
- I don't know ASM very well and AVX is most likely not natively supported by Delphi's compiler
- If implementing this it should most likely be based on the mormot works (if possible from the license) as they have at least an AVX version of the AES algorithm implemented. And I need an AVX capable CPU. I guess my i5 desktop CPU is too old for this and I'm not sure my newer i5 Laptop CPU supports this.
- Things tend to get quicker when I get help on implementing those.
- I don't know much about OpenCL/CUDA. One would need to find out first how that can be used from a Delphi app and what it brings means how to use it in a cryptographic algorithm.
=> I really would see value in such an implementation but I fear I cannot do that without help from somebody/people having knowledge in these areas.
from delphiencryptioncompendium.
Oh, looking at your repository on GitHub just revealed, that you might be a good candidate for help ;-)
You seem to have knowledge. Just some notes:
- If done I don't want to depend on any other external libraries besides Delphi and FPC RTL/VCL/FMX
- It (AVX) needs to be implemented in such a way that it can be turned off or is only used when ASM define in DECOptions.inc is used and a compatible CPU is present, so it doesn't interfere with the cross platform compatibility goals of DEC.
- Oh, and any contributions need to be compatible with the APL 2.0 license used for DEC...
from delphiencryptioncompendium.
Hello,
Yes i know it's not easy but if you look at the eg. crypto miners they use GPU for hasing but unfortunately they are coded c++.
As far the UltraCode is something i want to start working as soons as i finish some stuff that i'm doing. (I do not have a time frame) I guess as soon this project start to kick off a lot of developers (i hope) will contribute so you can borrow knowledge from there.
Thank you
from delphiencryptioncompendium.
Any news about that one?
from delphiencryptioncompendium.
Any news about that one?
Hello,
Nope still busy with my projects. I hope to find some time in 2022 to make the benchmarks in order to kickstart the project! :)
from delphiencryptioncompendium.
Since Delphi 11 has only AVX support I think we'll use NASM assembler.
from delphiencryptioncompendium.
Any progress on this?
from delphiencryptioncompendium.
Any progress on your side? Shall I create a branch for you for this?
from delphiencryptioncompendium.
Any progress on this on your side?
from delphiencryptioncompendium.
Hello,
Well i was pretty busy but I am planning to start around next month so i hope to have something ready in the next couple months.
from delphiencryptioncompendium.
Ok, next month is over. I'd politely like to ask about whether any work has already begun? If you like you can have a branch for this.
from delphiencryptioncompendium.
Related Issues (20)
- Can't execute PBKDF2 key derivation function. Please help HOT 1
- 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
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.