Cryptol

Last updated
Cryptol
Developer Galois, Inc.
First appeared1980;44 years ago (1980)
Stable release
3.2.0 / August 20, 2024;52 days ago (2024-08-20)
Implementation language Haskell, Python
Platform AArch64, x86-64
OS Linux, macOS, Windows
License BSD 3-clause
Website www.cryptol.net

Cryptol is a domain-specific programming language for cryptography developed by the Portland, Oregon based software development firm, Galois, Inc. [1] [2] It is free and open-source software released under a BSD 3-clause software license.

The language was originally developed for use by the United States National Security Agency. [1] [3] The language is also used by private firms that provide information technology systems, such as the American company Rockwell Collins provides to aerospace and defense contractors in the United States. [1]

The programming language is used for all aspects of developing and using cryptography, such as the design and implementation of new ciphers and the verification of existing cryptographic algorithms. [1] [2] [4] Cryptol is designed to allow a cryptographer to watch how stream processing functions in the program manipulate ciphers or encryption algorithms. [2]

Related Research Articles

<span class="mw-page-title-main">Computer science</span> Study of computation

Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines to applied disciplines.

Kerckhoffs's principle of cryptography was stated by Dutch-born cryptographer Auguste Kerckhoffs in the 19th century. The principle holds that a cryptosystem should be secure, even if everything about the system, except the key, is public knowledge. This concept is widely embraced by cryptographers, in contrast to security through obscurity, which is not.

<span class="mw-page-title-main">Ron Rivest</span> American cryptographer

Ronald Linn Rivest is an American cryptographer and computer scientist whose work has spanned the fields of algorithms and combinatorics, cryptography, machine learning, and election integrity. He is an Institute Professor at the Massachusetts Institute of Technology (MIT), and a member of MIT's Department of Electrical Engineering and Computer Science and its Computer Science and Artificial Intelligence Laboratory.

Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.

Theoretical computer science is a subfield of computer science and mathematics that focuses on the abstract and mathematical foundations of computation.

In cryptography, Camellia is a symmetric key block cipher with a block size of 128 bits and key sizes of 128, 192 and 256 bits. It was jointly developed by Mitsubishi Electric and NTT of Japan. The cipher has been approved for use by the ISO/IEC, the European Union's NESSIE project and the Japanese CRYPTREC project. The cipher has security levels and processing abilities comparable to the Advanced Encryption Standard.

In computer security, a side-channel attack is any attack based on extra information that can be gathered because of the fundamental way a computer protocol or algorithm is implemented, rather than flaws in the design of the protocol or algorithm itself or minor, but potentially devastating, mistakes or oversights in the implementation. Timing information, power consumption, electromagnetic leaks, and sound are examples of extra information which could be exploited to facilitate side-channel attacks.

CCM mode is a mode of operation for cryptographic block ciphers. It is an authenticated encryption algorithm designed to provide both authentication and confidentiality. CCM mode is only defined for block ciphers with a block length of 128 bits.

Below is a timeline of notable events related to cryptography.

In cryptography, Galois/Counter Mode (GCM) is a mode of operation for symmetric-key cryptographic block ciphers which is widely adopted for its performance. GCM throughput rates for state-of-the-art, high-speed communication channels can be achieved with inexpensive hardware resources.

Douglas Taylor "Doug" Ross was an American computer scientist pioneer, and chairman of SofTech, Inc. He is most famous for originating the term CAD for computer-aided design, and is considered to be the father of Automatically Programmed Tools (APT), a programming language to drive numerical control in manufacturing. His later work focused on a pseudophilosophy he developed and named Plex.

<span class="mw-page-title-main">Cryptography</span> Practice and study of secure communication techniques

Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of adversarial behavior. More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, information security, electrical engineering, digital signal processing, physics, and others. Core concepts related to information security are also central to cryptography. Practical applications of cryptography include electronic commerce, chip-based payment cards, digital currencies, computer passwords, and military communications.

Informatics is the study of computational systems. According to the ACM Europe Council and Informatics Europe, informatics is synonymous with computer science and computing as a profession, in which the central notion is transformation of information. In some cases, the term "informatics" may also be used with different meanings, e.g. in the context of social computing, or in context of library science.

Knowledge-based configuration, also referred to as product configuration or product customization, is an activity of customising a product to meet the needs of a particular customer. The product in question may consist of mechanical parts, services, and software. Knowledge-based configuration is a major application area for artificial intelligence (AI), and it is based on modelling of the configurations in a manner that allows the utilisation of AI techniques for searching for a valid configuration to meet the needs of a particular customer.

<span class="mw-page-title-main">Babak Hodjat</span> Co-founder and CEO of Sentient Technologies

Babak Hodjat was the co-founder and CEO of Sentient Technologies and now holds the position of Chief Technology Officer AI at Cognizant. He is a specialist in the field of artificial intelligence and machine learning.

This glossary of computer science is a list of definitions of terms and concepts used in computer science, its sub-disciplines, and related fields, including terms relevant to software, data science, and computer programming.

References

  1. 1 2 3 4 "Cryptol-the-language-of-cryptology-now-available". December 2008. Retrieved 2015-05-05.
  2. 1 2 3 GoogleBook link Sutcliffe, Geoff; Voronkov, Andrei, eds. (2006). Logic for Programming, Artificial Intelligence, and Reasoning: 12th International Conference, LPAR 2005, December 2–6, 2005, Proceedings ... / Lecture Notes in Artificial Intelligence). Montego Bay, Jamaica: Springer. p. 744. ISBN   978-3-540-30553-8.
  3. The Next Wave, High Confidence Software and Systems (HCSS) (PDF), vol. 19, 2011, archived from the original (PDF) on 2014-07-14, retrieved 2014-07-07
  4. Lewis, J.R.; Martin, B. (October 2003). "Cryptol: high assurance, retargetable crypto development and validation". Military Communications Conference, 2003. MILCOM 2003. IEEE. Vol. 2. Boston, Massachusetts: Armed Forces Communications & Electronics Association (AFCEA); IEEE Communications Society. pp. 820–825. doi:10.1109/MILCOM.2003.1290218. S2CID   8380437.