Rok studiów: |
II DUMFL / II ZUMFL |
|
Przedmiot: |
Projekt |
|
|
Prowadzący: |
dr inż. Sławomir Samolej pokój: D102c email:
ssamolej@prz-rzeszow.pl |
Zasady uzyskania zaliczenia:
Efektem pracy projektowej ma być dokument zawierający opracowanie na zadany temat. Praca projektowa jest realizowana w zespołach 2-osobowych. W wyjątkowych przypadkach dopuszcza się realizowanie prac w zespołach 1 lub 3-osobowych. Jeden temat projektowy realizowany może być tylko przez jeden zespół projektowy. W podsumowaniu pracy powinno zostać określone, które elementy opracowania opracowywał dany współautor. Warunkiem uzyskania najwyższej oceny jest przygotowanie opracowania w terminie do przedostatnich zajęć oraz wygłoszenie referatu (10 min) na forum grupy projektowej na temat zrealizowanego zadania projektowego.
Tematy projektów:
1. Technologie PKI (Public Key Infrastructure)
Microsoft.
Projekt obejmuje przygotowanie opracowania
skierowanego do administratorów sieci, wyjaśniającego zasady generowania i
zarządzania certyfikatami i chronionymi zasobami na platformie Windows Serwer
2003.
Literatura:
2. Technologia Encrypting File System Microsoft.
Projekt obejmuje przygotowanie opracowania skierowanego
do administratorów sieci, wyjaśniającego zasady stosowania i tworzenia
Encrypting File System Microsoft.
Literatura:
3. Algorytmy skrótu (odcisku) stosowane w
aplikacjach kryptograficznych.
W czasie generowania podpisu elektronicznego tworzony
jest unikalny skrót wiadomości. Opracowanie powinno dokonać przeglądu
algorytmów generowania skrótu stosowanych we współczesnych aplikacjach
kryptograficznych.
Literatura:
· Stilson D. R.:Kryptografia w teorii i praktyce, WNT 2005.
· Schneider B.: Kryptografia dla praktyków, WNT 2002.
· RFC 1321 - The MD5 Message-Digest
Algorithm.
· RFC 1319 - The MD2 Message-Digest
Algorithm.
· RFC 3174 - US Secure Hash
Algorithm 1 (SHA1).
· RFC 3279: Algorithms and Identifiers
for the Internet X.509 Public Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile.
4. Algorytm szyfrowania RSA.
Najpopularniejszym algorytmem szyfrowania z kluczem
publicznym jest RSA. Opracowanie powinno zawierać wyjaśnienie zasad
kryptografii publicznej oraz matematyczne podstawy algorytmu szyfrowania RSA.
Literatura:
· Stilson D. R.:Kryptografia w teorii i praktyce, WNT 2005.
· Schneider B.: Kryptografia dla praktyków, WNT 2002.
· PKCS #1: RSA Cryptography Standard.
5. Zastosowania kryptografii z kluczem
publicznym.
Opracowanie powinno zawierać przegląd współczesnych praktycznych zastosowań kryptografii z kluczem publicznym.
Literatura:
· Schneider B.: Kryptografia dla praktyków, WNT 2002
6. Certyfikat X509 - specyfikacja, mechanizmy
uzyskiwania.
Certyfikat X509 jest strukturą danych najczęściej
stosowaną w programach stosujących kryptografię z kluczem publicznym.
Opracowanie powinno szczegółowo prezentować poszczególne pola struktury. Do
opisu struktur potrzebna będzie znajomość notacji ASN1.
Literatura:
· Adams C., Lloyd S.: Podpis elektroniczny, klucz publiczny, Wydawnictwo Robomatic 2001.
· A Layman's Guide to a Subset of
ASN.1, BER, and DER.
· http://asn1.elibel.tm.fr/en/.
· rfc3280: Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List (CRL) Profile.
· rfc3279: Algorithms and Identifiers
for the Internet X.509 Public Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile.
7. Podstawowy podpis elektroniczny -
specyfikacja.
Podstawowy podpis elektroniczny jest strukturą danych
zawierającą zbiór danych jednoznacznie wskazującą osobę podpisującą w
kryptografii z kluczem publicznym. Opracowanie powinno szczegółowo prezentować poszczególne
pola struktury. Do opisu struktury potrzebna będzie znajomość notacji ASN1.
Literatura:
· Adams C., Lloyd S.: Podpis elektroniczny, klucz publiczny, Wydawnictwo Robomatic 2001.
· A Layman's Guide to a Subset of
ASN.1, BER, and DER.
· http://asn1.elibel.tm.fr/en/.
· rfc3369: Cryptographic Message
Syntax (CMS)
8. Biblioteka CryptoAPI Microsoft - podstawowe
zastosowania.
Biblioteka CryptoAPI Microsoft umożliwia tworzenie aplikacji kryptograficznych z zastosowaniem kryptografii z kluczem publicznym. Opracowanie powinno stanowić przewodnik dla programisty zamierzającego tworzyć aplikacje kryptograficzne.
Literatura:
9. Standard ATL - wprowadzenie.
Opracowanie powinno zawierać praktyczne wprowadzenie do standardu ATL (Active Template Library) przeznaczone dla programistów znających język C++ i podstawy programowania w Windows.
Literatura:
10. Standard WTL - wprowadzenie.
Opracowanie powinno zawierać praktyczne wprowadzenie do standardu WTL (Windows Template Library) przeznaczone dla programistów znających język C++ i podstawy programowania w Windows.
Literatura:
11. Technologia ActiveX - wprowadzenie.
Opracowanie powinno zawierać praktyczne wprowadzenie do standardu ActiveX przeznaczone dla programistów znających język C++ i podstawy programowania w Windows.
Literatura:
12. Standard Directx3D - wprowadzenie.
Opracowanie powinno zawierać praktyczne wprowadzenie do standardu Direct3D przeznaczone dla programistów znających język C++ i podstawy programowania w Windows.
Literatura:
13. Zastosowanie języka Java do tworzenia aplikacji
graficznych 3D.
Opracowanie powinno zawierać wprowadzenie do metod
tworzenia grafiki komputerowej 3D z zastosowaniem języka Java.
Literatura:
· http://java.sun.com/products/java-media/3D/
14. Graficzny model linii butelkującej.
Efektem pracy projektowej ma być aplikacja zawierająca graficzny model linii butelkującej. Preferowane rozwiązanie: Aplikacja Windows pracująca w czasie rzeczywistym stosująca bibliotekę OpenGL.
Literatura:
· mail.prz-rzeszow.pl/~ssamolej
· Wright R. S. Jr., Lipchak B.: OpenGL. Księga eksperta. Wydanie III, Helion 2004
· Hawkins K., Astle D.: OpenGL. Programowanie gier, Helion 2003.
15. Tworzenie aplikacji współbieżnych i sterowanych
czasowo z zastosowaniem języka Java.
Na potrzeby języka Java opracowane zostały biblioteki do tworzenia aplikacji współbieżnych. Dodatkowo opracowano standard Real-Time Java umożliwiający tworzenie aplikacji sterowanych zdarzeniami czasowymi. Opracowanie powinno być wprowadzeniem do zasad tworzenia aplikacji współbieżnych i sterowanych czasowo w oparciu o dostępne biblioteki języka Java.
Literatura: