1 of 91

A Brief Introduction to Cybersecurity

David J. Malan

malan@harvard.edu

2 of 91

3 of 91

OpenCourseWare

  • CS50 AI Introduction to Artificial Intelligence with Python
  • CS50B Computer Science for Business Professionals
  • CS50 Cybersecurity Introduction to Cybersecurity
  • CS50G Introduction to Game Development
  • CS50L Computer Science for Lawyers
  • CS50P Introduction to Programming with Python
  • CS50R Introduction to Programming with R
  • CS50S Introduction to Programming with Scratch
  • CS50 SQL Introduction to Databases with SQL
  • CS50T Understanding Technology
  • CS50W Web Programming with Python and JavaScript
  • CS50x Introduction to Computer Science

4 of 91

5 of 91

6 of 91

passwords

7 of 91

  1. 123456
  2. admin
  3. 12345678
  4. 123456789
  5. 1234
  6. 12345
  7. password
  8. 123
  9. Aa123456
  10. 1234567890

8 of 91

  • iloveyou
  • qwertyuiop
  • P@ssw0rd
  • ********

9 of 91

brute-force attacks

10 of 91

4-digit passcode

11 of 91

10 × 10 × 10 × 10

12 of 91

10,000

13 of 91

4-letter passcode

14 of 91

52 × 52 × 52 × 52

15 of 91

7,311,616

16 of 91

4-character passcode

17 of 91

94 × 94 × 94 × 94

18 of 91

78,074,896

19 of 91

8-character passcode

20 of 91

94 × 94 × 94 × 94 × 94 × 94 × 94 × 94

21 of 91

6,095,689,385,410,816

22 of 91

23 of 91

24 of 91

password managers

25 of 91

  • 1Password
  • LastPass

26 of 91

  • Apple iCloud Keychain
  • Google Password Manager
  • Microsoft Credential Manager
  • ...

27 of 91

two-factor authentication

28 of 91

one-time passwords

29 of 91

30 of 91

31 of 91

32 of 91

hashing

33 of 91

alice:apple�bob:banana�…

34 of 91

hash function

input → 

→ output

35 of 91

f

x → 

f (x)

36 of 91

password → 

→ hash

37 of 91

apple → 

1

38 of 91

apple → 

..ekWXa83dhiA

39 of 91

banana → 

2

40 of 91

banana → 

..ZS4zkCo/P7E

41 of 91

alice:apple�bob:banana�…

42 of 91

alice:..ekWXa83dhiA�bob:..ZS4zkCo/P7E�…

43 of 91

alice:$y$j9T$DIXfskUxbz6we5RbfdPCz0$zFd93JMuTyEJHrdIf.6bZ8Rbw4otHvybdOuLn.eD.s3

bob:$y$j9T$ty3B9GwDhm4f6zQIgm9uL.$SbFq.iSFt48A5iQlue8DtUd.57KaBN1tIEdLPmtEjwC

44 of 91

rainbow table

45 of 91

password

hash

46 of 91

alice:apple�bob:banana�carol:cherry�charlie:cherry�…

47 of 91

alice:..ekWXa83dhiA�bob:..ZS4zkCo/P7E�carol:..rj98gxDTYfM�charlie:..rj98gxDTYfM�…

48 of 91

alice:..ekWXa83dhiA�bob:..ZS4zkCo/P7E�carol:..rj98gxDTYfM�charlie:..rj98gxDTYfM�

49 of 91

cherry → 

..rj98gxDTYfM

50 of 91

salting

51 of 91

password → 

→ hash

salt → 

52 of 91

cherry → 

50 → 

53 of 91

cherry → 

50kbbTM.xAinU

50 → 

54 of 91

cherry → 

50kbbTM.xAinU

50 → 

55 of 91

cherry → 

50kbbTM.xAinU

50 → 

56 of 91

cherry → 

493vg4DKt4MKg

49 → 

57 of 91

cherry → 

493vg4DKt4MKg

49 → 

58 of 91

cryptography

59 of 91

cipher

plaintext → 

→ ciphertext

key → 

60 of 91

cipher

ciphertext → 

→ plaintext

key → 

61 of 91

secret-key cryptography

62 of 91

symmetric cryptography

63 of 91

A → 

→ B

1 → 

64 of 91

asymmetric cryptography

65 of 91

public-key cryptography

66 of 91

plaintext → 

→ ciphertext

public key → 

67 of 91

ciphertext → 

→ plaintext

private key → 

68 of 91

HTTPS

69 of 91

passkeys

70 of 91

challenge → 

→ signature

private key → 

71 of 91

signature → 

→ challenge

public key → 

72 of 91

end-to-end encryption

73 of 91

74 of 91

75 of 91

76 of 91

77 of 91

deletion

78 of 91

0000000000000000000000000000000000000001111111111111111111111111111111110000011111111111110000000000000

0000000000000000000000000000000000000001111111111111111111111111110111000000000011111111100000000000000

0000000000000000000000000000000000000001111111111111111111111111111111100000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111100000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111111111000000111111000000000000000

0000000000000000000000000000000000000011111111111111111111111111011111111111111000011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000111111111111100011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000011111111110000011100000000000000000

0000000000000000000000000000000000001111100001111111111111111110000000000000000000011100000000000000000

0000000000000000000000000000000000001111100011111111111111111110000000000000000000000010000000000000000

0000000000000000000000000000000000001111111111111111111111111111110000000000000000000001000000000000000

0000000000000000000000000000000000000111111111111111111111111111111000000000000000011000000000000000000

0000000000000000000000000000000000000011111111111111111111111110000000000000000000001000000000000000000

0000000000000000000000000000000000000001111111111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111111000100000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111000000000000000011110000000000000000000

0000000000000000000000000000000000000000000000111111111111111111111111000000000001111111000000000000000

0000000000000000000000000000000000000000000011111111111111111111111110000000000001111111111111111100000

0000000000000000000000000000000000000000000111111111111111111111110000000000010000111111111111111111111

79 of 91

0000000000000000000000000000000000000001111111111111111111111111111111110000011111111111110000000000000

0000000000000000000000000000000000000001111111111111111111111111110111000000000011111111100000000000000

0000000000000000000000000000000000000001111111111111111111111111111111100000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111100000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111111111000000111111000000000000000

0000000000000000000000000000000000000011111111111111111111111111011111111111111000011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000111111111111100011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000011111111110000011100000000000000000

0000000000000000000000000000000000001111100001111111111111111110000000000000000000011100000000000000000

0000000000000000000000000000000000001111100011111111111111111110000000000000000000000010000000000000000

0000000000000000000000000000000000001111111111111111111111111111110000000000000000000001000000000000000

0000000000000000000000000000000000000111111111111111111111111111111000000000000000011000000000000000000

0000000000000000000000000000000000000011111111111111111111111110000000000000000000001000000000000000000

0000000000000000000000000000000000000001111111111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111111000100000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111000000000000000011110000000000000000000

0000000000000000000000000000000000000000000000111111111111111111111111000000000001111111000000000000000

0000000000000000000000000000000000000000000011111111111111111111111110000000000001111111111111111100000

0000000000000000000000000000000000000000000111111111111111111111110000000000010000111111111111111111111

80 of 91

00001110101011000000110110111011011011111101110001010001001110000111000101110101101000101011000011110101111110110100111001100011000010111100011000001010101000011000011110001010010101101110011110111001100001110101000001011001010101111101101100011001100011011111010101011101011000010110110001101001111101001101000111010100100001011111110011111011011101110011110111101111111111101000110011011001101101111001111100001011101001101101111011001101100000001000101101111110110111110111011100111001101100101101100001111010001101001101110100111011110000101111100000100110010000110111010110100101110001110110001010101110010010110010000011000001110000111011101110100001101101010010001100011010011000101001011100101001001010110001000100010111000011000100001101000001101111011100111110001001111111111100110100000100100111110001011011001011

0000000000000000000000000000000000000001111111111111111111111111000111111111111100011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000011111111110000011100000000000000000

0000000000000000000000000000000000001111100001111111111111111110000000000000000000011100000000000000000

0000000000000000000000000000000000001111100011111111111111111110000000000000000000000010000000000000000

0000000000000000000000000000000000001111111111111111111111111111110000000000000000000001000000000000000

0000000000000000000000000000000000000111111111111111111111111111111000000000000000011000000000000000000

0000000000000000000000000000000000000011111111111111111111111110000000000000000000001000000000000000000

0000000000000000000000000000000000000001111111111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111111000100000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111000000000000000011110000000000000000000

0000000000000000000000000000000000000000000000111111111111111111111111000000000001111111000000000000000

0000000000000000000000000000000000000000000011111111111111111111111110000000000001111111111111111100000

0000000000000000000000000000000000000000000111111111111111111111110000000000010000111111111111111111111

81 of 91

secure deletion

82 of 91

0000000000000000000000000000000000000001111111111111111111111111111111110000011111111111110000000000000

0000000000000000000000000000000000000001111111111111111111111111110111000000000011111111100000000000000

0000000000000000000000000000000000000001111111111111111111111111111111100000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111100000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111111111000000111111000000000000000

0000000000000000000000000000000000000011111111111111111111111111011111111111111000011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000111111111111100011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000011111111110000011100000000000000000

0000000000000000000000000000000000001111100001111111111111111110000000000000000000011100000000000000000

0000000000000000000000000000000000001111100011111111111111111110000000000000000000000010000000000000000

0000000000000000000000000000000000001111111111111111111111111111110000000000000000000001000000000000000

0000000000000000000000000000000000000111111111111111111111111111111000000000000000011000000000000000000

0000000000000000000000000000000000000011111111111111111111111110000000000000000000001000000000000000000

0000000000000000000000000000000000000001111111111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111111000100000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111000000000000000011110000000000000000000

0000000000000000000000000000000000000000000000111111111111111111111111000000000001111111000000000000000

0000000000000000000000000000000000000000000011111111111111111111111110000000000001111111111111111100000

0000000000000000000000000000000000000000000111111111111111111111110000000000010000111111111111111111111

83 of 91

0000000000000000000000000000000000000001111111111111111111111111111111110000011111111111110000000000000

0000000000000000000000000000000000000001111111111111111111111111110111000000000011111111100000000000000

0000000000000000000000000000000000000001111111111111111111111111111111100000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111100000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111111111000000111111000000000000000

0000000000000000000000000000000000000011111111111111111111111111011111111111111000011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000111111111111100011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000011111111110000011100000000000000000

0000000000000000000000000000000000001111100001111111111111111110000000000000000000011100000000000000000

0000000000000000000000000000000000001111100011111111111111111110000000000000000000000010000000000000000

0000000000000000000000000000000000001111111111111111111111111111110000000000000000000001000000000000000

0000000000000000000000000000000000000111111111111111111111111111111000000000000000011000000000000000000

0000000000000000000000000000000000000011111111111111111111111110000000000000000000001000000000000000000

0000000000000000000000000000000000000001111111111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111111000100000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111000000000000000011110000000000000000000

0000000000000000000000000000000000000000000000111111111111111111111111000000000001111111000000000000000

0000000000000000000000000000000000000000000011111111111111111111111110000000000001111111111111111100000

0000000000000000000000000000000000000000000111111111111111111111110000000000010000111111111111111111111

84 of 91

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000111111111111111111111111111111000000000000000011000000000000000000

0000000000000000000000000000000000000011111111111111111111111110000000000000000000001000000000000000000

0000000000000000000000000000000000000001111111111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111111000100000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111000000000000000011110000000000000000000

0000000000000000000000000000000000000000000000111111111111111111111111000000000001111111000000000000000

0000000000000000000000000000000000000000000011111111111111111111111110000000000001111111111111111100000

0000000000000000000000000000000000000000000111111111111111111111110000000000010000111111111111111111111

85 of 91

full-disk encryption

86 of 91

0000000000000000000000000000000000000001111111111111111111111111111111110000011111111111110000000000000

0000000000000000000000000000000000000001111111111111111111111111110111000000000011111111100000000000000

0000000000000000000000000000000000000001111111111111111111111111111111100000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111100000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111000000000000111111100000000000000

0000000000000000000000000000000000000011111111111111111111111111111111111111000000111111000000000000000

0000000000000000000000000000000000000011111111111111111111111111011111111111111000011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000111111111111100011110000000000000000

0000000000000000000000000000000000000001111111111111111111111111000011111111110000011100000000000000000

0000000000000000000000000000000000001111100001111111111111111110000000000000000000011100000000000000000

0000000000000000000000000000000000001111100011111111111111111110000000000000000000000010000000000000000

0000000000000000000000000000000000001111111111111111111111111111110000000000000000000001000000000000000

0000000000000000000000000000000000000111111111111111111111111111111000000000000000011000000000000000000

0000000000000000000000000000000000000011111111111111111111111110000000000000000000001000000000000000000

0000000000000000000000000000000000000001111111111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000011111111111111111111111111000000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111111000100000000000000000000000000000000

0000000000000000000000000000000000000000000001111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111110000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000111111111111111111000000000000000011110000000000000000000

0000000000000000000000000000000000000000000000111111111111111111111111000000000001111111000000000000000

0000000000000000000000000000000000000000000011111111111111111111111110000000000001111111111111111100000

0000000000000000000000000000000000000000000111111111111111111111110000000000010000111111111111111111111

87 of 91

00001110101011000000110110111011011011111101110001010001001110000111000101110101101000101011000011110101111110110100111001100011000010111100011000001010101000011000011110001010010101101110011110111001100001110101000001011001010101111101101100011001100011011111010101011101011000010110110001101001111101001101000111010100100001011111110011111011011101110011110111101111111111101000110011011001101101111001111100001011101001101101111011001101100000001000101101111110110111110111011100111001101100101101100001111010001101001101110100111011110000101111100000100110010000110111010110100101110001110110001010101110010010110010000011000001110000111011101110100001101101010010001100011010011000101001011100101001001010110001000100010111000011000100001101000001101111011100111110001001111111111100110100000100100111110001011011001011001100000000111101101111010111011010010001010000100100001000101010110100000101000101011000100010010010000011101001101100111000111011111100110010011001001010001001111110010001001111101011111111111101101111011110011010111000101000011001001010111011100101000000011011100001010101011001110100001000000001100100001001010010100011100110100111100100011110100111100000111101100101100101111101011010110000011010010010111100110000101110110101101110110001001101101111001110001001110011110111100010111110110001100001000100011101110110100111001100111110001001011000111111101100000000001001000100110100010100101010101100011000000100100111101000011110010111100001101001101011101010010111101110010111111100001101101101001000010101011011100101001010011100011011111010111101110010111100011110100010000111011100110000100101110100111001100100100111010000111011010100000100011111110111001010011011011001101111010001100100001110000010101010000101000010011110010100000100000100100110111100101000100001011001111111110011010100110000111101101110011110101010100000011100110010000001010100100001001100000111111101100011011111111011011110011001000011110100100011011011100000011101111101111100011100001101110001010110100110000000011100010110100110110000000001111101100110110010010011010011011011111110000111100001110000010100101001101111111001100101001100101001011010101110100001011011100011101111100111100111001101011000000110011101001011110000100010111000010010010101001111010100111110100011001110000000101101001000111000101000101101001101011011011011111101011000001101111011010111101000010110011010010010101010110000000001011000110111100001001110010101011010000101110000101001100011110001000011011110111110100010100111111111100001110000001010110011110001100100000111101101001010110111100100110010010011011111100100110110101000111111100010110000001001001001101011100001101001011101

88 of 91

  • BitLocker
  • FileVault�
  • ...

89 of 91

ransomware

90 of 91

Homework

  1. Start using a password manager and/or passkeys
  2. Start using two-factor authentication
  3. Start using (end-to-end) encryption

91 of 91

A Brief Introduction to Cybersecurity

David J. Malan

malan@harvard.edu