Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

Crypto: cleanup pimpl layout and logic + finish RNG related refactor #164

Closed
1 task done
anonimal opened this issue Apr 9, 2016 · 4 comments
Closed
1 task done

Comments

@anonimal
Copy link
Collaborator

anonimal commented Apr 9, 2016

By submitting this issue, I confirm the following:

  • I have read and understood the contributor guide.
  • I have checked that the issue I am reporting can be replicated or that the feature I am suggesting is not present.
  • I have checked opened or recently closed pull requests for existing solutions/implementations to my issue/suggestion.

Place an X inside the bracket to confirm

  • I confirm.

Working on #162 pointed out the illogical layout/design of our preexisting pimpl implementation. The design should look similar to what was implemented in #162 (ZIP and X509). Pending feedback, I can assign myself this ticket since the work is fresh on my mind.

Referencing #57.

@anonimal
Copy link
Collaborator Author

Rather than give a laundry list of issues, I will focus on a handful for this ticket and then devote any other crypto refactor work to #57:

  1. Redesign/refactor: the previous design was unnecessary in terms of
    organization and the logic was askew. Rewrite with maintainability in mind
  2. Within the realm of Signature and ElGamal, refactor out the unfinished
    cryptopp
  3. Finish the unfinished RNG-related refactor:
    • Swapout appropriate CryptoPP with Rand*-related calls
    • Creation of class DiffieHellman
    • Moving of CryptoConst into pimpl directory
  4. Cleanup related files that still call cryptopp
  5. C++11/style guideline refactor for touched files
  6. Add Crypto++ CMake build option + related pimpl src dir handling
  7. Various cleanups + add documentation

@anonimal anonimal self-assigned this Apr 12, 2016
@anonimal anonimal changed the title Crypto: cleanup pimpl layout and logic Crypto: cleanup pimpl layout and logic + finish RNG related refactor Apr 13, 2016
@anonimal
Copy link
Collaborator Author

Added Finish the RNG related refactor that wasn't finished as a fourth issue to be resolved with this ticket.

@anonimal
Copy link
Collaborator Author

Finishing the RNG refactor required the creation of class DiffieHellman and the moving of CryptoConst into pimpl directory. The moving of CryptoConst is fine as its only used internally (though a redesign wouldn't hurt) and the creation of DiffieHellman was inevitable as it is part of #57.

This ticket is complete and I will PR this week (before the weekend) after reviewing and doing any touch-ups.

anonimal added a commit that referenced this issue Apr 15, 2016
09febe4 Crypto: add missing Ed25519 header. Fixes build. (anonimal)
5beae18 Crypto: rewrite preexisting refactor. Fixes #164. (anonimal)
@EinMByte
Copy link
Contributor

@anonimal It looks ok to me. Then again, I have only glanced over it.

anonimal added a commit that referenced this issue May 1, 2016
637b9a9 Crypto: implement runtime AES-NI. Resolves #73. (anonimal)
2408707 Crypto: finish pimpl refactor. Resolves #57. (anonimal)
09febe4 Crypto: add missing Ed25519 header. Fixes build. (anonimal)
5beae18 Crypto: rewrite preexisting refactor. Fixes #164. (anonimal)
anonimal added a commit that referenced this issue May 23, 2016
a7e8c0e README: Add help options to quickstart. (anonimal)
9b6c58a README/FAQ: Update donation/FFS info. Resolves #43. (anonimal)
068ac04 README: Add Coverity status badge. (anonimal)
eb4ff3f Travis: update Coverity token/build command. (anonimal)
ba92ee0 Travis: fix previously-made yaml error. (anonimal)
41347f0 Travis: attempt fix for GCC 5 installation. (anonimal)
48d2bb0 Docs: add notes about Clang/OSX/BSD support. (anonimal)
4ed1af4 Build: update requirements/instructions. (anonimal)
2b9a369 ZIP: add missing header (I2PEndian.h) (anonimal)
4436f08 UPnP: fix typos that broke build. (anonimal)
243bb25 LogPrint: enhance reporting by prepending class. (anonimal)
637b9a9 Crypto: implement runtime AES-NI. Resolves #73. (anonimal)
2408707 Crypto: finish pimpl refactor. Resolves #57. (anonimal)
09febe4 Crypto: add missing Ed25519 header. Fixes build. (anonimal)
5beae18 Crypto: rewrite preexisting refactor. Fixes #164. (anonimal)
607e898 Version: bump to .25. Add pre-alpha. Closes #161. (anonimal)
e39ed38 Reseed: add a TODO and revise another TODO. (anonimal)
00a3c1c Reseed: update server list + certs. (anonimal)
90fcced Cleanup: minor corrections to #162. (anonimal)
292ee95 Documentation: cleanup language and punctuation. (anonimal)
7d6a995 Documentation: cleanup style guide. (anonimal)
a2ab096 Doxygen: cleanup missing parameters, update CMake. (anonimal)
0ee1d44 SSUSession: document SSU payload types. Refactor. (anonimal)
d649e8a SSUSession: fill padding in SendSessionConfirmed. (anonimal)
8d63e4d Reseed: rewrite implementation. Resolves #149. (anonimal)
8c61f5d Reseed: append null byte to compressed payloads. (anonimal)
df46814 updated readme to enhance attribution (Riccardo Spagni)
6af88ab Documentation: fix repeated step number in 828314e (anonimal)
828314e Documentation: cleanup before Satoshi Roundtable. (anonimal)
e48fcff GitHub: update issue/PR templates. Refs #143. (anonimal)
01c88db GitHub: create issue/PR templates. Resolves #143. (anonimal)
e350366 Documentation: add contact info to FAQ.md (anonimal)
d207188 Win32: remove Russian locale and codepage. (anonimal)
ce616d2 Doxygen: move output to doc/Doxygen + update docs. (anonimal)
b8a56ef CMake: remove ghost client directory for Doxygen. (anonimal)
a4567ee CMake: update source directories for Doxygen. (anonimal)
c089b0e Filesystem: tunnels.cfg is now tunnels.conf (anonimal)
a4aa27a Filesystem: move ./resources/* into KOVRI_DATA_DIR (anonimal)
ab35c35 CMake: remove erroneous addition to KOVRI_DATA_DIR (anonimal)
013a025 License/Docs: link C4 to upstream in markup. (anonimal)
511215e License/Docs: remove dangerous port-usage example. (anonimal)
e959533 License/Docs: minor style update for BUILDING.md. (anonimal)
c1cf8d1 License/Docs: add Governance Process. (anonimal)
9ba769b License/Docs: update/cleanup documentation. (anonimal)
d523405 Reseed: add zmx's SU3/TLS cert, update reseed list (anonimal)
36af71d CMake: revert 8eb187f (OSX brew OpenSSL fix). (anonimal)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants