
    

    <?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://ocw.cs.pub.ro/courses/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://ocw.cs.pub.ro/courses/feed.php">
        <title>CS Open CourseWare ac:laboratoare</title>
        <description></description>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <image rdf:resource="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico" />
       <dc:date>2026-04-08T18:31:40+03:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/01?rev=1734080045&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/02?rev=1728668495&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/03?rev=1730937376&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/04?rev=1666875522&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/05?rev=1667487939&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/06?rev=1730937451&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/07?rev=1753897597&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/08?rev=1731582323&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/09?rev=1763631473&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/10?rev=1763631556&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/11?rev=1762418168&amp;do=diff"/>
                <rdf:li rdf:resource="http://ocw.cs.pub.ro/courses/ac/laboratoare/12?rev=1736896588&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico">
        <title>CS Open CourseWare</title>
        <link>http://ocw.cs.pub.ro/courses/</link>
        <url>http://ocw.cs.pub.ro/courses/lib/tpl/arctic/images/favicon.ico</url>
    </image>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/01?rev=1734080045&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-12-13T10:54:05+03:00</dc:date>
        <title>Lab 01 - Introduction</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/01?rev=1734080045&amp;do=diff</link>
        <description>Lab 01 - Introduction

This laboratory will serve as an introduction to Python and the Caesar cipher. To solve the lab, open this Colab notebook and copy it into your own drive for persistence. Do so by going to File -&gt; Save a copy in Drive.


C1 = &quot;000100010001000000001100000000110001011100000111000010100000100100011101000001010001100100000101&quot;
C2 = &quot;02030F07100A061C060B1909&quot;

key = &quot;abcdefghijkl&quot;

# Solve here
P1 = bin_2_str(bitxor(str_2_bin(key), C1))
print(P1)

P2 = bin_2_str(bitxor(str_2_bi…</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/02?rev=1728668495&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-11T20:41:35+03:00</dc:date>
        <title>Lab 02 - Vigenère and DES</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/02?rev=1728668495&amp;do=diff</link>
        <description>Lab 02 - Vigenère and DES

This laboratory will cover frequency attacks against the Vigenère cipher and the meet-in-the-middle attack on 2DES. To solve the lab, open this Colab notebook and copy it into your own drive for persistence.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/03?rev=1730937376&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-07T01:56:16+03:00</dc:date>
        <title>Lab 03 - CBC Padding Oracle Attack</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/03?rev=1730937376&amp;do=diff</link>
        <description>Lab 03 - CBC Padding Oracle Attack

This laboratory will cover Sergey Vaudenay's attack on CBC padding. To solve the lab, open this Colab notebook and copy it into your own drive for persistence.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/04?rev=1666875522&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-27T15:58:42+03:00</dc:date>
        <title>Lab 04 - Public Key Encryption</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/04?rev=1666875522&amp;do=diff</link>
        <description>Lab 04 - Public Key Encryption

Before starting the labs, download openssl 1.1.1 from here.
Save the file to some local folder accessible by you, then compile it and install it to some folder.
Open the unpacked folder from bash, and run the following commands:</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/05?rev=1667487939&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-03T17:05:39+03:00</dc:date>
        <title>Lab 05 - PKI and TLS</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/05?rev=1667487939&amp;do=diff</link>
        <description>Lab 05 - PKI and TLS




 here

Public Key Infrastructure

In cryptography, a PKI is an arrangement that binds public keys with respective identities of entities (like people and organizations). The binding is established through a process of registration and issuance of certificates at and by a certificate authority (CA).</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/06?rev=1730937451&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-07T01:57:31+03:00</dc:date>
        <title>Lab 06 - TLS Attacks - BEAST</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/06?rev=1730937451&amp;do=diff</link>
        <description>Lab 06 - TLS Attacks - BEAST

This laboratory will cover the BEAST attack against the TLS 1.0 implementation of AES-CBC. To solve the lab, open this Colab notebook and copy it into your own drive for persistence.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/07?rev=1753897597&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-30T20:46:37+03:00</dc:date>
        <title>Lab 07 - Whatsapp End-to-end Encryption</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/07?rev=1753897597&amp;do=diff</link>
        <description>Lab 07 - Whatsapp End-to-end Encryption

In this lab you will implement a simplified version of the Signal Protocol, which is the basis for WhatsApp's end-to-end encryption.

The first versions of the Whatsapp protocol were described here. A more recent document is available here.
WhatsApp's security is based on the Signal protocol, which was first used by TextSecure. The Signal protocol is
described in detail in this paper.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/08?rev=1731582323&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-14T13:05:23+03:00</dc:date>
        <title>Lab 08 - Whatsapp End-to-end Encryption (part 2)</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/08?rev=1731582323&amp;do=diff</link>
        <description>Lab 08 - Whatsapp End-to-end Encryption (part 2)

In this lab you will continue the implementation of the Signal Protocol, which is the basis for WhatsApp's end-to-end encryption.

The protocol is described here.
For more details you can also check this paper.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/09?rev=1763631473&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T11:37:53+03:00</dc:date>
        <title>Lab 09 - EMV Basics</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/09?rev=1763631473&amp;do=diff</link>
        <description>Lab 09 - EMV Basics

We have presented in class the basic communication mechanisms in EMV, the protocol
used in banking transactions. We have seen the low-level communication layer,
as well as the higher layers of communication, including the format of commands (CAPDUs)
and responses (RAPDUs). Furthermore, we have also seen an example of transaction.</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/10?rev=1763631556&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-20T11:39:16+03:00</dc:date>
        <title>Lab 10: EMV crypto - Verifying a DDA Signature</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/10?rev=1763631556&amp;do=diff</link>
        <description>Lab 10: EMV crypto - Verifying a DDA Signature

Install python tools to work with your smartcard

Do the following on Linux (this is for Ubuntu/Debian -- you might need root access):

	*  Install these packages:


sudo apt install libpcsclite-dev swig libpcsc-perl pcsc-tools python3-dev libudev-dev python3-pyscard python3-pyserial</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/11?rev=1762418168&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-06T10:36:08+03:00</dc:date>
        <title>Lab 6b - TOFU-based Authenticated Key Exchange</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/11?rev=1762418168&amp;do=diff</link>
        <description>Lab 6b - TOFU-based Authenticated Key Exchange

In this lab, we will implement Trust On First Use in a manner similar to that of SSH. We will base our implementation around PyCryptodome - you can find the relevant documentation here.

0. Init

Use these commands to generate a private key and a Diffie-Hellman parameter file:</description>
    </item>
    <item rdf:about="http://ocw.cs.pub.ro/courses/ac/laboratoare/12?rev=1736896588&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T01:16:28+03:00</dc:date>
        <title>Lab 12 - Post-Quantum Cryptography</title>
        <link>http://ocw.cs.pub.ro/courses/ac/laboratoare/12?rev=1736896588&amp;do=diff</link>
        <description>Lab 12 - Post-Quantum Cryptography

In this laboratory, we will look at implementing a basic form of key exchange within post-quantum cryptography. We will be using liboqs. To install it on Ubuntu, use the command below:


sudo apt install astyle cmake gcc ninja-build libssl-dev python3-pytest python3-pytest-xdist unzip xsltproc doxygen graphviz python3-yaml valgrind</description>
    </item>
</rdf:RDF>
