How can we improve the speed of a (deterministic) primality test? Created by Brit Cruise.
- Subject:
- Applied Science
- Computer Science
- Material Type:
- Lesson
- Provider:
- Khan Academy
- Provider Set:
- Code.org
- Author:
- Brit Cruise
- Date Added:
- 07/14/2021
How can we improve the speed of a (deterministic) primality test? Created by Brit Cruise.
This course is for students wishing to explore blockchain technology’s potential use—by entrepreneurs and incumbents—to change the world of money and finance. The course begins with a review of Bitcoin and an understanding of the commercial, technical, and public policy fundamentals of blockchain technology, distributed ledgers, and smart contracts. The class then continues on to current and potential blockchain applications in the financial sector.
This video module presents an introduction to cryptography - the method of sending messages in such a way that only the intended recipients can understand them. In this very interactive lesson, students will build three different devices for cryptography and will learn how to encrypt and decrypt messages. There are no prerequisites for this lesson, and it has intentionally been designed in a way that can be adapted to many audiences. It is fully appropriate in a high school level math or computer science class where the teacher can use it to motivate probability/statistics or programming exercises. nteractive lesson, students will learn to build the cryptography devices and will learn how to send and ''crack'' secret messages.
Brit explains the Caesar cipher, the first popular substitution cipher, and shows how it was broken with "frequency analysis". Created by Brit Cruise.
This class covers topics on the engineering of computer software and hardware systems. Topics include techniques for controlling complexity; strong modularity using client-server design, operating systems; performance, networks; naming; security and privacy; fault-tolerant systems, atomicity and coordination of concurrent activities, and recovery; impact of computer systems on society.
A visual explanation of conditional probability.
Cryptography Lesson (Beta)
This archive contains a series of lessons on cryptography suitable for use in a CS0 course. The only requirement is familiarity with Python, particularly dictionaries, lists, and file IO. It is also assumed that students know how to create stand-alone Python programs and interact with them through the terminal. Most of the work is done in Jupyter notebooks.
The material found in the notebooks is a combination of reading material, exercises, activities and assignments. Below are descriptions of each lesson or assignment and links to notebooks on Cocalc. The same files are available for batch download in this archive.
This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography.
Walkthrough of Diffie-Hellman Key Exchange. Created by Brit Cruise.
This course is a computationally focused introduction to elliptic curves, with applications to number theory and cryptography. While this is an introductory course, we will (gently) work our way up to some fairly advanced material, including an overview of the proof of Fermat’s last theorem.
WW2 Encryption is explored with a focus on the Enigma. Read more here. Created by Brit Cruise.
Measuring the divisibility of a number. Created by Brit Cruise.
A quick outline of how & why it works. Created by Brit Cruise.
Introduction to a key result in elementary number theory using a visualization with beads. Created by Brit Cruise.
Can you tell the difference between actions based upon flipping a coin and those based upon blind guessing or simulating randomness? This short video examines the frequency stability property. Created by Brit Cruise.
This course focuses on the fundamentals of information security that are used in protecting both the information present in computer storage as well as information traveling over computer networks. Upon successful completion of this course, the student will be able to: explain the challenges and scope of information security; explain such basic security concepts as confidentiality, integrity, and availability, which are used frequently in the field of information security; explain the importance of cryptographic algorithms used in information security in the context of the overall information technology (IT) industry; identify and explain symmetric algorithms for encryption-based security of information; identify and explain public key-based asymmetric algorithms for encryption-based security of information; describe the access control mechanism used for user authentication and authorization; describe Secure Sockets Layer (SSL) as a common solution enabling security of many applications, including all Internet-based commerce; describe securing Internet Protocol (IP) communications by using Internet Protocol Security (IPSec); explain the importance of physical security and discuss ways to improve physical security of an enterprise; explain the use of such security tools as firewalls and intrusion prevention systems; explain malicious software issues, such as those brought forth by software-based viruses and worms; explain common software security issues, such as buffer overflow; describe the basic process of risk assessment in the context of overall IT security management. (Computer Science 406)
This class offers a broad coverage of technology concepts and trends underlying current and future developments in information technology, and fundamental principles for the effective use of computer-based information systems. There will be a special emphasis on networks and distributed computing, including the World Wide Web. Other topics include: hardware and operating systems, software development tools and processes, relational databases, security and cryptography, enterprise applications, and electronic commerce. Hands-on exposure to Web, database, and graphical user interface (GUI) tools.
This course is intended for students with little or no background in computer technology. Students with extensive education or work experience in computer technology should consider taking a more advanced course.
These are lecture notes for cs427 at Oregon State University, an introductory course in cryptography at the advanced undergraduate level. By reading and studying these notes, you should expect to learn how to:
*State and interpret the standard formal definitions for the most common cryptographic security properties (privacy and authentication).
*Formally prove security properties of sound cryptographic constructions, and break the security of unsound ones.
*Choose the appropriate cryptographic primitive for a task (block ciphers, hash functions, MACs, public-key encryption, etc.) while avoiding common pitfalls.
*Along the way, you will also learn how the most common cryptographic constructions work.
6.857 Network and Computer Security is an upper-level undergraduate, first-year graduate course on network and computer security. It fits within the Computer Systems and Architecture Engineering concentration.