This document provides an overview of cryptography and this course on the subject. It discusses the history of cryptography, examples throughout history of codes being invented and then broken, and modern cryptography since the 1970s which focuses on provable security. The course will cover foundations and principles, definitions and proofs of security, applications, and advanced topics like public key cryptography and zero-knowledge proofs. It provides information about lectures, prerequisites, readings, assignments, and notes that cryptography is a challenging subject involving mathematical proofs.
Cryptography and Symmetric Key Algorithms
Cryptography is the study of secure communications techniques that allow only the sender and intended recipient of a message to view its contents.
OR
The art of creating and implementing secret codes and ciphers is known as cryptography.
Cryptography and Symmetric Key Algorithms
Cryptography is the study of secure communications techniques that allow only the sender and intended recipient of a message to view its contents.
OR
The art of creating and implementing secret codes and ciphers is known as cryptography.
Basic Talk. 90 minute talk to an audience of Freshmen and Sophomores of IIT Bombay on 23/02/10 as a part of Science Week. Organised by Web and Coding Club. Place: GG 101 (Elec Department)
I presented this overview lecture at Computer Applications for the 21st century – Synergies and Vistas organized by Vidyasagar College, Kolkata in 2008
Analysis insight about a Flyball dog competition team's performanceroli9797
Insight of my analysis about a Flyball dog competition team's last year performance. Find more: https://github.com/rolandnagy-ds/flyball_race_analysis/tree/main
Basic Talk. 90 minute talk to an audience of Freshmen and Sophomores of IIT Bombay on 23/02/10 as a part of Science Week. Organised by Web and Coding Club. Place: GG 101 (Elec Department)
I presented this overview lecture at Computer Applications for the 21st century – Synergies and Vistas organized by Vidyasagar College, Kolkata in 2008
Analysis insight about a Flyball dog competition team's performanceroli9797
Insight of my analysis about a Flyball dog competition team's last year performance. Find more: https://github.com/rolandnagy-ds/flyball_race_analysis/tree/main
Learn SQL from basic queries to Advance queriesmanishkhaire30
Dive into the world of data analysis with our comprehensive guide on mastering SQL! This presentation offers a practical approach to learning SQL, focusing on real-world applications and hands-on practice. Whether you're a beginner or looking to sharpen your skills, this guide provides the tools you need to extract, analyze, and interpret data effectively.
Key Highlights:
Foundations of SQL: Understand the basics of SQL, including data retrieval, filtering, and aggregation.
Advanced Queries: Learn to craft complex queries to uncover deep insights from your data.
Data Trends and Patterns: Discover how to identify and interpret trends and patterns in your datasets.
Practical Examples: Follow step-by-step examples to apply SQL techniques in real-world scenarios.
Actionable Insights: Gain the skills to derive actionable insights that drive informed decision-making.
Join us on this journey to enhance your data analysis capabilities and unlock the full potential of SQL. Perfect for data enthusiasts, analysts, and anyone eager to harness the power of data!
#DataAnalysis #SQL #LearningSQL #DataInsights #DataScience #Analytics
Adjusting OpenMP PageRank : SHORT REPORT / NOTESSubhajit Sahu
For massive graphs that fit in RAM, but not in GPU memory, it is possible to take
advantage of a shared memory system with multiple CPUs, each with multiple cores, to
accelerate pagerank computation. If the NUMA architecture of the system is properly taken
into account with good vertex partitioning, the speedup can be significant. To take steps in
this direction, experiments are conducted to implement pagerank in OpenMP using two
different approaches, uniform and hybrid. The uniform approach runs all primitives required
for pagerank in OpenMP mode (with multiple threads). On the other hand, the hybrid
approach runs certain primitives in sequential mode (i.e., sumAt, multiply).
Enhanced Enterprise Intelligence with your personal AI Data Copilot.pdfGetInData
Recently we have observed the rise of open-source Large Language Models (LLMs) that are community-driven or developed by the AI market leaders, such as Meta (Llama3), Databricks (DBRX) and Snowflake (Arctic). On the other hand, there is a growth in interest in specialized, carefully fine-tuned yet relatively small models that can efficiently assist programmers in day-to-day tasks. Finally, Retrieval-Augmented Generation (RAG) architectures have gained a lot of traction as the preferred approach for LLMs context and prompt augmentation for building conversational SQL data copilots, code copilots and chatbots.
In this presentation, we will show how we built upon these three concepts a robust Data Copilot that can help to democratize access to company data assets and boost performance of everyone working with data platforms.
Why do we need yet another (open-source ) Copilot?
How can we build one?
Architecture and evaluation
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeWalaa Eldin Moustafa
Dynamic policy enforcement is becoming an increasingly important topic in today’s world where data privacy and compliance is a top priority for companies, individuals, and regulators alike. In these slides, we discuss how LinkedIn implements a powerful dynamic policy enforcement engine, called ViewShift, and integrates it within its data lake. We show the query engine architecture and how catalog implementations can automatically route table resolutions to compliance-enforcing SQL views. Such views have a set of very interesting properties: (1) They are auto-generated from declarative data annotations. (2) They respect user-level consent and preferences (3) They are context-aware, encoding a different set of transformations for different use cases (4) They are portable; while the SQL logic is only implemented in one SQL dialect, it is accessible in all engines.
#SQL #Views #Privacy #Compliance #DataLake
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
Unleashing the Power of Data_ Choosing a Trusted Analytics Platform.pdfEnterprise Wired
In this guide, we'll explore the key considerations and features to look for when choosing a Trusted analytics platform that meets your organization's needs and delivers actionable intelligence you can trust.
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Subhajit Sahu
Abstract — Levelwise PageRank is an alternative method of PageRank computation which decomposes the input graph into a directed acyclic block-graph of strongly connected components, and processes them in topological order, one level at a time. This enables calculation for ranks in a distributed fashion without per-iteration communication, unlike the standard method where all vertices are processed in each iteration. It however comes with a precondition of the absence of dead ends in the input graph. Here, the native non-distributed performance of Levelwise PageRank was compared against Monolithic PageRank on a CPU as well as a GPU. To ensure a fair comparison, Monolithic PageRank was also performed on a graph where vertices were split by components. Results indicate that Levelwise PageRank is about as fast as Monolithic PageRank on the CPU, but quite a bit slower on the GPU. Slowdown on the GPU is likely caused by a large submission of small workloads, and expected to be non-issue when the computation is performed on massive graphs.
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
sabith.pptx
1. Princeton University • COS 433 • Cryptography • Fall 2007 • Boaz Barak
Cryptography
Mohammed Sabith
IX A {Techno}
Mangalore
Two important quick notes:
Slides will be on course web site
Please stop me if you have questions!
2. 2
Cryptography
History of 2500- 4000 years.
Recurring theme: (until 1970’s)
Secret code invented
Typically claimed “unbreakable” by inventor
Used by spies, ambassadors, kings, generals for crucial tasks.
Broken by enemy using cryptanalysis.
Throughout most of this history:
cryptography = “secret writing”:
“Scramble” (encrypt) text such that it is hopefully unreadable by
anyone except the intended receiver that can decrypt it.
3. 3
Examples
1587: Ciphers from Mary of Scots plotting assassination of queen
Elizabeth broken; used as evidence to convict her of treason.
1860’s (civil war): Confederacy used good cipher (Vigenere) in a bad
way. Messages routinely broken by team of young union
cryptanalysts; in particular leading to a Manhattan manufacturer of
plates for printing rebel currency.
1878: New York Tribune decodes telegram proving Democrats’ attempt
to buy an electoral vote in presidential election for $10K.
1914: With aid of partial info from sunken German ships, British
intelligence broke all German codes.
Cracked telegram of German plan to form alliance with Mexico and
conquer back territory from U.S. As a result, U.S. joined WWI.
WWII: Cryptanalysis used by both sides. Polish & British cryptanalysts
break supposedly unbreakable Enigma cipher using mix of
ingenuity, German negligence, and mechanical computation.
Churchill credits cryptanalysts with winning the war.
4. 4
This Course
What you’ll learn:
Foundations and principles of the science
Definitions and proofs of security
High-level applications
Critical view of security suggestions and products
What you will not learn:
The most efficient and practical versions of components.
Designing secure systems*
“Hacking” – breaking into systems.
Everything important about crypto
Basic primitives and components.
Viruses, worms, Windows/Unix bugs, buffer overflow etc..
Buzzwords
Will help you avoid designing
insecure systems.
5. 5
This Course
Modern (post 1970’s) cryptography:
Provable security – breaking the “invent-break-tweak” cycle
Perfect security (Shannon) and its limitations
Computational security
Pseudorandom generators, one way functions
Beyond encryption – public-key crypto and other wonderful creatures
Public-key encryption based on factoring and RSA problem
Digital signatures, hash functions
Zero-knowledge proofs
Active security – Chosen-Ciphertext Attack
Advanced topics (won’t have time for all )
The SSL Protocol and attacks on it
Secret Sharing
Multi-party secure computation
Quantum cryptography
Password-based key-exchange, broadcast encryption, obfuscation
6. 6
Administrative Info
Lectures: Tue,Thu 1:30-2:50pm (start on time!)
Instructor: Boaz Barak: boaz@cs
Web page: http://www.cs.princeton.edu/courses/archive/fall07/cos433/
Or: Google “Boaz Barak” and click “courses”
TA: Rajsekar Manokaran ( rajsekar@cs )
Important: join mailing list, email me to set appointment
before next class
Office hrs: Thu after class (3pm) or by appointment.
Precepts: ---
Office hrs: ---
7. 7
Prerequisites
1. Ability to read and write mathematical proofs and definitions.
2. Familiarity with algorithms – proving correctness and
analyzing running time (O notation).
Required:
Helpful but not necessary:
Complexity. NP-Completeness, reductions, P, BPP, P/poly
Probabilistic Algorithms. Primality testing, hashing,
Number theory. Modular arithmetic, prime numbers
See web-site for links and resources.
3. Familiarity with basic probability theory (random variables,
expectations – see handout).
8. 8
Reading
Foundations of Cryptography / Goldreich.
Graduate-level text, will be sometimes used.
Lecture notes on web: (links on web site)
Computational Intro to Algebra and Number Theory / Shoup.
(Available also on the web)
Introduction to the Theory of Computation / Sipser.
For complexity background
Introduction to Modern Cryptography / Katz & Lindell
Main text used, though not 100% followed
9. 9
Requirements
Exercises: Weekly from Thursday till Thursday before class.
Submit by email / mailbox / in class to Rajsekar.
Flexibility: 4 late days, bonus questions
Take home final.
Final grade: 50% homework, 50% final
Honor code. Collaboration on homework with other students encouraged.
However, write alone and give credit.
Work on final alone and as directed.
10. 10
This course is hard
Challenging weekly exercises
Emphasis on mathematical proofs
Counterintuitive concepts.
Extensive use of quantifiers/probability
But it’s not my fault :)
Good coverage of crypto (meat, vegetables and desert) takes a year.
Simulation / experimentation can’t be used to show security.
Need to acquire “crypto-intuition”
Quantifiers, proofs by contradiction, reductions, probability are inherent.
Mitigating hardness
Avoid excessive exercises – only questions that teach you something.
Try best to explain intuition behind proofs
Me and Rajsekar available for any questions and clarifications.
11. 11
Encryption Schemes
Alice wants to send Bob a secret message.
They agree in advance on 3 components:
Encryption algorithm: E
Decryption algorithm: D
Secret key: k
To encrypt plaintext m, Alice sends c = E(m,k) to Bob.
To decrypt a cyphertext c, Bob computes m’ = D(c,k).
c = E(m,k)
c
m’ = D(c,k)
A scheme is valid if m’=m
Intuitively, a scheme is secure if eavesdropper can not learn m from c.
12. 12
Example 1: Caesar’s Cipher
Key: k = no. between 0 and 25.
Encryption: encode the ith letter as the (i+k) th letter.
(working mod 26: z+1=a )
Decryption: decode the jth letter to the (j-k) th letter.
S E N D R E I N F O R C E M E N T
Plain-text:
Key: 2
Cipher-text: U G P F T F K P H Q T E G O G P V
Problem: only 26 possibilities for key – can be broken in short time.
In other words: “security through obscurity” does not work.
Kerchoff’s Principle (1883): System should be secure even if
algorithms are known, as long as key is secret.
13. 13
Example 2: Substitution Cipher
Key: k = table mapping each letter to another letter
A B C Z
U R B E
Encryption and decryption: letter by letter according to table.
# of possible keys: 26! ( = 403,291,461,126,605,635,584,000,000 )
However – substitution cipher is still insecure!
Key observation: can recover plaintext using statistics on letter
frequencies.
LIVITCSWPIYVEWHEVSRIQMXLEYVEOIEWHRXEXIPFEMVEWHKVSTYLX
ZIXLIKIIXPIJVSZEYPERRGERIMWQLMGLMXQERIWGPSRIHMXQEREKI
He e e e h e t t ht
ethe eet e e h h t e e t e
I – most common letter
LI – most common pair
XLI – most common triple
Here e r e h e t t r r ht
ethe eet e r e h h t e e t e
I=e L=h X=t
Here e ra a e ha a ea tat a ra r ht
ethe eet e r a a e h h t a e e t a a e
V=r E=a Y=g
HereUpOnLeGrandAroseWithAGraveAndStatelyAirAndBrought
MeTheBeetleFromAGlassCaseInWhichItWasEnclosedItWasABe
14. 14
Example 3- Vigenere
“Multi-Caesar Cipher” – A statefull cipher
Key: k = (k1,k2,…,km) list of m numbers between 0 and 25
Encryption:
Breaking Vigenere:
nth letter encoded w/ key=k(n mod m) : i I + k(n mod m) (mod 26)
(Belaso, 1553)
LIVITCSWPIYVEWHEVSRIQMXLEYVEOIEWHRXEXIPFEM VEWHKV
Step 1: Guess the length of the key m
Step 2: Group together positions {1, m+1, 2m+1, 3m+1,…}
{m-1, 2m+m-1, 3m+m-1,…}
Decryption: In the natural way
…
{2, m+2, 2m+2, 3m+2,…}
15. 15
Cryptography & Security
Prev slides: Have provably secure algorithm for every crypto task imaginable.
Q: How come nothing is secure?
A2: Cryptography is only part of designing secure systems
Chain is only as strong as weakest link.
A “dormant bug” is often a security hole.
Security is hard to “modularize”
Human element
(hard to add to existing system, changes in system
features can have unexpected consequences)
Many subtle issues (e.g., caching & virtual memory, side
channel attacks)
Key storage and protection issues.
Editor's Notes
1-32
to print, choose File-Page Setup-Landscape, View-Header and Footer, Print-Properties-Long Side and Color,and deselect Grayscale