Some questions about cryptography

In summary: So in summary, the job prospects for cryptographers may be limited to government security agencies and forces such as the NSA and Navy. The development of quantum computers may have a significant impact on the field of cryptography. The most popular programming languages for cryptography are C++ and C, with Java also being a good option.
  • #1
set
58
0
Hi I am a first year student studying mathematics. I have been experimenting with various subjects to find my thing, and I think I am interested in discrete mathematics, particulary in number theory and cryptography.

1) But it seems like, there aren't many companies that are explicitly looking for cryptographers, but rather, they prefer computer scientists with some knowledge in cryptography. But on the other hand, I believe there is some government security agencies (NSA) and forces (Navy). How is the job prospect for cryptographers?

2) How will the invention and the implementation of quantum computers affect cryptographers? Will they have to look for another job like physicists just after the end of the arms race? Or will the development of this new technology will be the next hot trend?

3) I have taken two programming languages, one in DrRacket and the other in Python. What is the most popular programming language in the field of cryptography?

I thank for your replies in advance :)
 
Physics news on Phys.org
  • #2
Hey set.

For 2) the effect will be big if real large qu-bit quantum computers come into existence. For more inforhmation see Shors algorithm on the internet.

For 3) many languages have some implementation of cryptography, but if you are writing new libraries from scratch and need performance, then I would recommend C++.

If you want to use existing libraries, then many platforms will have some implementation.
 
  • #3
chiro said:
*snip*

For 3) many languages have some implementation of cryptography, but if you are writing new libraries from scratch and need performance, then I would recommend C++.

If you want to use existing libraries, then many platforms will have some implementation.

I would second this answer of C++, but maybe throw in a word for plain old C depending on the platform. C++ has the advantage of more features, with no overhead if you don't use them, but some platforms (microcontrollers mostly, which I assume you aren't using), don't implement C++. So as long as the work is done on a computer, C++ is the way to go, with Java being a good second.

If you want to learn C++, and can wait for a few months, I'd wait for Bjarne Stroustrup's (the author of C++) new edition of "The C++ Programming Language".
 

FAQ: Some questions about cryptography

1. What is cryptography?

Cryptography is the practice and study of techniques for secure communication in the presence of third parties. It involves creating and analyzing protocols that prevent unauthorized access to information. In simpler terms, cryptography is the process of converting plain text into unreadable code to protect its confidentiality.

2. How does cryptography work?

Cryptography works by using algorithms to encrypt (scramble) plain text into ciphertext (encoded text) and then decrypting it back to its original form. This process involves using a key, which is a piece of information that controls the encryption and decryption process. The key is kept secret to ensure the security of the information.

3. What are the types of cryptography?

The two main types of cryptography are symmetric and asymmetric encryption. Symmetric encryption uses a single key for both encryption and decryption, while asymmetric encryption uses a pair of keys - a public key for encryption and a private key for decryption. Other types include hashing, which converts data into a fixed-length code, and digital signatures, which verify the authenticity of a message.

4. What is the importance of cryptography?

Cryptography is crucial for ensuring the security and privacy of sensitive information in various industries, including finance, healthcare, and government. It also plays a vital role in protecting online communication and transactions, such as online shopping and banking. Additionally, cryptography helps prevent identity theft, fraud, and unauthorized access to information.

5. What are some common applications of cryptography?

Cryptography is used in many applications, such as secure messaging, encryption of sensitive data, secure online transactions, and digital signatures. It is also used in electronic voting systems, secure cloud storage, and password protection. Additionally, cryptography is essential for securing wireless networks, protecting intellectual property, and ensuring the privacy of personal information.

Similar threads

Replies
4
Views
2K
Replies
10
Views
15K
Replies
1
Views
1K
Replies
2
Views
5K
Replies
3
Views
2K
Replies
1
Views
3K
Replies
7
Views
2K
Back
Top