Personally I always work on Windows and thus use Visual Studio. Crypto++ also 
works with other compilers though (use the makefile for that). For details 
you'd have to ask Jeff.

Furthermore if you want to go through just about everything the library offers 
you could "debug" the cryptest tool (using -v IIRC) which should then test just 
about everything the library has (From the validat files).

BR

JPM


Am 20. August 2016 20:44:07 MESZ, schrieb Prakhar Jain <[email protected]>:
>I actually made it worked on Xcode.
>
>   1. I created new Xcode project with the above demo file as main.cpp
>   2. Copy Paste "Only" the cpp and header files from cryptopp master 
>   branch.
>3. Removed datatest.cpp, bench1.cpp, bench2.cpp, test.cpp,
>validat1.cpp, 
>   validat2.cpp and validat3.cpp from target.
>   4. Then Ran.
>
>
>On Saturday, August 20, 2016 at 11:49:05 PM UTC+5:30, Prakhar Jain
>wrote:
>>
>> >(and try single step debugging on your programs to see where the
>code 
>> jumps).
>> Can you tell me which IDE to choose. Unfortunately I don't have
>Microsoft 
>> Visual Studio and I am working on Mac OS X.
>> I have tried using Xcode. I included the include files and linked the
>
>> library object files. Now, when I use debugger, I go through include
>files 
>> but I want to go inside cpp files and check how actually that
>function or 
>> code that's being called is working. From a high level, I am getting
>a 
>> picture of how objects are working, but to know the working of those 
>> classes I need to go further inside.
>>
>> I am also cool with Command Line gdb tool. How can I create demo
>program 
>> that runs through all the cpp files while debugging? For this I need
>to 
>> compile only "required files" in my separate project. This will be
>head 
>> ache since we are not using the compiled library object file 
>> i.e. libryptopp.a. Do you have any structure for compiling of the
>files 
>> required for any demo program. Here's one demo program that I have
>written:
>>
>> #include "osrng.h"
>> #include <iostream>
>> #include <string>
>> #include <cstdlib>
>> #include "cryptlib.h"
>> #include "hex.h"
>> #include "filters.h"
>> #include "des.h"
>> #include "modes.h"
>>
>> using namespace CryptoPP;
>> using namespace std;
>>
>> int main(int argc, const char * argv[]) {
>>     AutoSeededRandomPool prng;
>>     
>>     byte key[DES::KEYLENGTH];
>>     
>>     prng.GenerateBlock(key, sizeof(key));
>>     string encoded;
>>     
>>     StringSource(key, sizeof(key), true, new HexEncoder(new 
>> StringSink(encoded)));
>>     cout << "Key:\n" << encoded << endl;
>>     /* Test Data
>>      P = 4E6F772069732074 68652074696D6520 666F7220616C6C20
>>      C = 3FA40E8A984D4815 6A271787AB8883F9 893D51EC4B563B53
>>      */
>>     string plaintext, ciphertext, recovered;
>>     plaintext = "Now is the time for all ";
>>     
>>     
>>     try
>>     {
>>         cout << "plain text: " << plaintext << endl;
>>         encoded.clear();
>>         StringSource(plaintext, true, new HexEncoder(new 
>> StringSink(encoded)));
>>         cout << "plain text:\n" << encoded << endl;
>>         
>>         ECB_Mode<DES>::Encryption e;
>>         e.SetKey(key, sizeof(key));
>>         
>>         StringSource(plaintext, true, new
>StreamTransformationFilter(e, 
>> new 
>>
>StringSink(ciphertext),CryptoPP::BlockPaddingSchemeDef::BlockPaddingScheme::NO_PADDING));
>>     }
>>     catch(const CryptoPP::Exception& e)
>>     {
>>         cerr << e.what() << endl;
>>         exit(1);
>>     }
>>     
>>     encoded.clear();
>>     StringSource(ciphertext, true, new HexEncoder(new 
>> StringSink(encoded)));
>>     cout << "ciphertext:\n" << encoded << endl;
>>     
>>     try
>>     {
>>         ECB_Mode< DES >::Decryption d;
>>         d.SetKey(key, sizeof(key));
>>         
>>         StringSource(ciphertext, true, new
>StreamTransformationFilter(d, 
>> new StringSink(recovered), 
>> CryptoPP::BlockPaddingSchemeDef::BlockPaddingScheme::NO_PADDING));
>>         
>>     }
>>     catch(const CryptoPP::Exception& e)
>>     {
>>         cerr << e.what() << endl;
>>         exit(1);
>>     }
>>     
>>     cout << "recovered text\n" << recovered << endl;
>>     
>>     return 0;
>> }
>>
>>
>>
>>
>>
>>
>> On Sunday, August 7, 2016 at 12:37:09 AM UTC+5:30, jean-pierre.muench
>
>> wrote:
>>>
>>> I haven't yet heard anything about Crypto++ participating in GSoC
>2017.
>>>
>>> For contributions:
>>>
>>>    1. Make sure to have at least a rough idea of what is where, 
>>>    preferably play around with all different types of primitives to
>understand 
>>>    the organization (and try single step debugging on your programs
>to see 
>>>    where the code jumps). 
>>>    2. Pick something to implement, either from the Issues page on
>GitHub 
>>>    or by picking some other cryptographic scheme you want to see in
>the 
>>>    library. 
>>>    3. Fork the library (create a new branch in your repo?) on GitHub
>and 
>>>    do your modifications. 
>>>    4. If there are things that are beyond your skills (like "where
>is 
>>>    XYZ?" or "how should I do ABC?", "how should I design DEF?"), ask
>here 
>>>    again. 
>>>    5. Don't forget to implement the test cases. Bonus points if you
>also 
>>>    try multiple compilers.
>>>    6. Make a pull request (PR) over on GitHub and maybe a post here 
>>>    again. 
>>>    7. If everything looks good and all tests pass and look 
>>>    well-implemented, Jeff will probably merge the PR. 
>>>
>>> For selecting topics: If you haven't done anything related to crypto
>
>>> before, I strongly recommend against implementing low-level
>primitives 
>>> (e.g. ciphers and hashes) and rather suggest trying your luck on
>something 
>>> more high level, where you'd basically just orchestrate library
>calls.
>>>
>>> If you have made good advancements and you're doing something
>low-level, 
>>> also consider contacting Jeff off-list so he can quickly advise you
>where 
>>> and how to test your new code on Big Endian machines.
>>>
>>> That should be about it.
>>>
>>> BR
>>>
>>> JPM
>>>
>>> Am 04.08.2016 um 11:18 schrieb Prakhar Jain:
>>>
>>> Will crypto++ be a part of GSoC 2017?
>>> also, I would like to contribute to crypto++. any idea on how to
>start?
>>> -- 
>>> -- 
>>> You received this message because you are subscribed to the
>"Crypto++ 
>>> Users" Google Group.
>>> To unsubscribe, send an email to [email protected].
>>> More information about Crypto++ and this group is available at 
>>> http://www.cryptopp.com.
>>> --- 
>>> You received this message because you are subscribed to the Google
>Groups 
>>> "Crypto++ Users" group.
>>> To unsubscribe from this group and stop receiving emails from it,
>send an 
>>> email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>
>-- 
>-- 
>You received this message because you are subscribed to the "Crypto++
>Users" Google Group.
>To unsubscribe, send an email to
>[email protected].
>More information about Crypto++ and this group is available at
>http://www.cryptopp.com.
>--- 
>You received this message because you are subscribed to the Google
>Groups "Crypto++ Users" group.
>To unsubscribe from this group and stop receiving emails from it, send
>an email to [email protected].
>For more options, visit https://groups.google.com/d/optout.

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to