Crypto Lab 2011: Code Challenge Website - Report (v1.0)
|
|
- Malcolm King
- 5 years ago
- Views:
Transcription
1 Crypto Lab 2011: Code Challenge Website - Report (v1.0) Marius Hansen and Daniel Quanz {hansen_m,quanz}@rbg.informatik.tu-darmstadt.de 1 Features / Use Cases First we create a list with our features. Using these features we create use cases. 1.1 Features The features below are listed in descending order of importance: Creation of random challenges / binary r n matrices a 1,1 a 1,2 a 1,n H r n a 2,1 a 2,2 a 2,n =......, a i,j = P RNG(seed) {0, 1} a r,1 a r,2 a r,n r - number of rows n - number of columns seed - a random value to initialize the pseudorandom number generator (PRNG) Verification of a solution We want to verify H r n e = 0 t 1.1 GV (n, k, q) q := 2, k := n r, n k H - a given binary r n matrix e - a solution vector F n 2 t - number of errors - weight(e) 1.1 GV (n, k, q) - Gilbert-Varshamov bound + 10% tolerance Definition: (q-ary Gilbert-Varshamov bound). Let C be an (n, k, t) code over F q, and let r := n k. The q-ary GV bound is the smallest integer t 0 such that t 0 ( ) n (q 1) i q r i i=0
2 2 Crypto Lab 2011 For large values of n, the last term dominates the sum, so the condition is often approximated by ( ) n (q 1) t0 q r t 0 If the number of errors that have to be corrected is smaller than the GV bound, then there is at most one solution. Otherwise, there can be several solutions. [2] Algorithm 1 Calculate H e = 0 (column-wise multiplication ([3, p. 6]) Require: H r n {a i,j 1 i r, 1 j n, a i,j {0, 1}} Require: e F n 2 result (0,..., 0) r for j = 1 n do if e j = 1 then for i = 1 r do result i result i a i,j end for end if end for return result Submission of a solution The actor should use a form to submit his solution. He has to input his name, his -address, his solution and a description how he has solved this challenge. Each challenge has its own submission form. Listing of solutions in a Hall of Fame If the actor has submited a solution, he will listed in the Hall of Fame list. It is not possible to submit a duplicate solution. Notification system This feature is needed to inform the website administrator. The admin will be notified if the Hall of Fame is changed. It is possible to notify several people. 1.2 Use Cases Figure 1 shows a short overview of all actions of the code challenge website. 2 Implementation In this lab we decided to use Ruby on Rails (RoR), an open source web application framework for the Ruby programming language. In [1] you find a nice step-by-step tutorial to create RoR projects.
3 Crypto Lab Fig. 1. Code Challenge Website Use Cases 2.1 Basics Each RoR - project is structured as follows: app includes the RoR application app/controllers includes the application controllers (MVC) app/helpers includes application helpers app/mailers includes application mailers app/models includes application models (MVC) app/views includes application views (MVC) config includes the RoR application config files db includes the application databases and migration files doc includes the application documentation log includes application logs for each environment public includes the application public files (CSS, Javascript, images) test includes tests of the RoR application 2.2 Database The user input is stored in a sqlite3 database. For this application we need two different tables. Figure 2 shows the relation of these two tables.
4 4 Crypto Lab 2011 Fig. 2. DB relationship Challenge r n seed bound created at updated at Solution e t name mail description challenge id created at updated at number of rows of a binary matrix H number of columns of a binary matrix H input for a PRNG to create a random binary matrix H value of the GV bound of H Creation date date of the last update solution vector weight of solution vector name of solver address of solver Description, how to solve the solution foreign key to challenge Creation date date of the last update 2.3 Creation of random challenges / matrices To create a new challenge we need a random binary r n matrix H. The user has to input to positve integeres r and n, such that r n. These values will be saved in the Challenge -SQLite3-table. In addition the Gilbert-Varshamov (GV) bound will be computed and the seed will be defined. (Lines: 5-6 in Listing 1.1). In line 62ff you find the implementaion of th GV-bound computing. The binary matrix is not created yet. It will be generated, if the user wants to download it. The file that stores the matrix is created temporarily to save memory.
5 Crypto Lab Download a challenge The challenge downlod is implemented in listing 1.2 (14-36). First we read the needed attributes (r, n, seed) from the database. Then we create a temporary file. In this file we write the generated binary matrix. 2.5 Verification of a solution The feature Verification of a solution is implemented in Listing 1.3. First we validate the user input. The user has to input his name (line 6), his address (line 7) and a valid solution vector. A solution vector must be unique for a challenge (line 8), must be a binary string (line 9), the weight of the solution vector must be lower or equal the GV bound of the challenge matrix (line 10) and finally the multiplication H r n e must be zero. (line 11) 2.6 Pages and links of the website Home This one is the welcome page. There you find the rules and how you can participate. You can also find the TOP 5 of the Hall-of-Fame List. <url-to-website>/home Hall of Fame You can find the whole high score list. <url-to-website>/halloffame Create a Challenge On this page the user is able to create a new challenge. <url-to-website>/generate Available Challenges You can find a list of available challenges to download them. <url-to-website>/challenges Download challenge < CID > You can find a list of available challenges to download them. <url-to-website>/challenges/<cid> Submit a solution for challenge < CID > You can find a list of available challenges to download them. <url-to-website>/challenges/<cid>/solutions/new Show solution < SID > for challenge < CID > You can find a list of available challenges to download them. <url-to-website>/challenges/<cid>/solutions/<sid> 2.7 Configuration You find the configuration file of the webpage in config/config.yml The table below lists the config attributes. Each attribute is stored in the APP CONFIG[] - array.
6 6 Crypto Lab 2011 attribute challenge gvbound tolerance challenge max columns challenge download name prefix challenges per page home highscore number highscore per page notifier mail from notifier mail to notifier mail subject Description GV bound tolerance in percent (here 10) the number of the max n a prefix name for the challenge file number of challenges to be listed per page number of hall of fame entries on the welcome page number of solutions per page in the hall of fame notification from: mail-address notify to: mail-address notifier mail subject References 1. M. Hartl. Ruby on Rails 3 Tutorial Livelessons Bundle: Learn Rails by Example. LiveLessons Series. ADDISON WESLEY (PEAR, Robert Niebuhr, Pierre-Louis Cayrel, Stanislav Bulygin, and Johannes Buchmann. On lower bounds for Information Set Decoding over Fq. informatik.tu-darmstadt.de/~rniebuhr/publications/isd-fq.pdf. 3. Falko Strenzke. How to implement the public key operations in code-based cryptography on how to implement the public key operations in code-based cryptography on memory-constrained devices. eprint.iacr.org/2010/465.pdf, A Implementation listings 1 #/ 2 # Model f o r c h a l l e n g e 3 # 4 Marius Hansen, Daniel Quanz 5 # / 6 7 class Challenge < ActiveRecord : : Base 8 9 has many : s o l u t i o n s v a l i d a t e s n u m e r i c a l i t y o f : r, : a l l o w n i l => false, : g r e a t e r t h a n o r e q u a l t o => 1, : l e s s t h a n o r e q u a l t o => : n, : o n l y i n t e g e r => true 12 v a l i d a t e s n u m e r i c a l i t y o f : n, : a l l o w n i l => false, : g r e a t e r t h a n o r e q u a l t o => 1, : l e s s t h a n o r e q u a l t o => APP CONFIG[ challenge max columns ], : o n l y i n t e g e r => true
7 Crypto Lab b e f o r e s a v e ( : on => : c r e a t e ) do 15 s e l f. seed = Time. now 16 s e l f. bound = getgvt ( s e l f. n, s e l f. n s e l f. r ) 17 end def seed 20 return r e a d a t t r i b u t e ( : seed ) 21 end def r 24 return r e a d a t t r i b u t e ( : r ) 25 end def n 28 return r e a d a t t r i b u t e ( : n ) 29 end def bound 32 return r e a d a t t r i b u t e ( : bound ) 33 end p r i v a t e #/ 38 # simple compution o f f a c t o r i a l 39 # / 40 def f a c t ( n ) 41 return n==0? 1 : ( 1.. n ). i n j e c t ( : ) 42 end #/ 45 # compution o f binomial c o e f f i c i e n t 46 # / 47 def binom (n, k ) 48 return ( n==k k==0)? 1 : f a c t ( n ) / ( f a c t (n k ) f a c t ( k ) ) 49 end #/ 52 # q ary G i l b e r t Varshamov bound // updated to 2 ary 53 # 54 # # Paper : On lower bounds f o r Information Set Decoding over Fq 57 # by : Robert Niebuhr (1), Pierre Louis Cayrel (2), S t a n i s l a v Bulygin (2), and Johannes Buchmann (1, 2 ) 58 # (1) TU Darmstadt Fachbereich I n f o r m a t i k Kryptographie und Computeralgebra
8 8 Crypto Lab # (2) CASED Center f o r Advanced S e c u r i t y Research Darmstadt 60 # 61 # / 62 def getgvt (n, k ) 63 i f ( k==1) 64 return n/2 65 end 66 qr = 2 << ( n k 1) 67 s t e p = 2 << ( ( n /2). t o s ( 2 ). l e n g t h 1) 68 l a s t = 1 69 while s t e p!= 1 do 70 tempd = l a s t 71 while getgvtlargen ( n, tempd ) < qr && tempd<n do 72 l a s t = tempd 73 i f tempd+s t e p <= n 74 tempd+=s t e p 75 else 76 tempd=n 77 end 78 end 79 step >>=1 80 end while getgvtsmalln ( n, tempd ) >= qr do 83 tempd =1 84 end 85 return tempd+1 86 end def getgvtlargen ( n, tempd ) 89 return binom ( n, tempd ) 90 end def getgvtsmalln ( n, tempd ) 93 return ( 0.. tempd ). map{ i binom (n, i ) }. i n j e c t (:+) 94 end 95 end Listing 1.1. Challenge model 1 r e q u i r e t e m p f i l e 2 3 class C h a l l e n g e s C o n t r o l l e r < A p p l i c a t i o n C o n t r o l l e r 4 # GET / c h a l l e n g e s 5 # GET / c h a l l e n g e s. xml 6 def index = Challenge. paginate ( : page => params [ : page ], : per page => APP CONFIG[ c h a l l e n g e s p e r p a g e ], : order => c r e a t e d a t DESC )
9 Crypto Lab r e s p o n d t o do format 10 format. html # index. html. erb 11 end 12 end def show = Challenge. f i n d ( params [ : id ] ) 16 prng = Random. new seed ) f i l e = Tempfile. new ( c h a l l e n g e ) data = #{@challenge. r. t o s }\n#{@challenge. n. t o s }\n\n 21 f i l e. w r i t e ( data ) 22 for i in r 23 data n. times. map{ prng. rand ( ) } 24 f i l e. w r i t e ( #{data. j o i n }\n ) 25 end s e n d f i l e f i l e, : f i l e n a m e => #{APP CONFIG[ c h a l l e n g e d o w n l o a d n a m e p r e f i x ] } ID#{params [ : id ] } r } #{@challenge. n }. t x t f i l e. c l o s e 32 f i l e. u n l ink 33 r e s p o n d t o do format 34 format. html { r e d i r e c t t o ( c h a l l e n g e s p a t h ) } 35 return 36 end 37 end # GET / c h a l l e n g e s /new 40 # GET / c h a l l e n g e s /new. xml 41 def new = Challenge. new r e s p o n d t o do format 45 format. html # new. html. erb 46 end 47 end # POST / c h a l l e n g e s 50 # POST / c h a l l e n g e s. xml 51 def c r e a t e = Challenge. new ( params [ : c h a l l e n g e ] ) r e s p o n d t o do format 55 i save
10 10 Crypto Lab format. html { r e d i r e c t t o ( c h a l l e n g e s p a t h, : n o t i c e => You c r e a t e d a new binary #{@challenge. r } x n} matrix ( ID : #{@challenge. i d }). Download i t #{v i e w c o n t e x t. l i n k t o ( ) }.. h t m l s a f e ) } 58 else 59 format. html { render : a c t i o n => new } 60 end 61 end 62 end # DELETE / c h a l l e n g e s /1 65 # DELETE / c h a l l e n g e s /1. xml 66 def d e s t r o y = Challenge. f i n d ( params [ : id ] ) d e s t r o y r e s p o n d t o do format 71 format. html { r e d i r e c t t o ( c h a l l e n g e s u r l ) } 72 end 73 end 74 end Listing 1.2. Challenge Controller 1 class S o l u t i o n < ActiveRecord : : Base 2 3 b e l o n g s t o : c h a l l e n g e 4 5 ## no d u p l i c a t e s o l u t i o n v e c t o r 6 v a l i d a t e s : name, : p r e s e n c e => true 7 v a l i d a t e s : mail, : p r e s e n c e => true, : format => { : with => / ˆ ( [ ˆ@\ s ]+)@( (? : [ a z0 9]+\.) +[a z ] { 2, } ) $/ i }, : l e n g t h => { : within => } 8 v a l i d a t e s : e, : p r e s e n c e => true, : uniqueness => { : scope => : c h a l l e n g e i d } 9 v a l i d a t e : hasvalidcontent 10 v a l i d a t e : gvboundandesize 11 v a l i d a t e : m u l t i p l y I s Z e r o b e f o r e s a v e ( : on => : c r e a t e ) do 14 s e l f. t = counterrors ( ) 15 end def gvboundandesize 18 bound = c h a l l e n g e. bound 19 b = bound + bound / APP CONFIG[ c h a l l e n g e g v b o u n d t o l e r a n c e ] 20 puts b
11 Crypto Lab puts counterrors ( ) 22 i f e. l e n g t h!= c h a l l e n g e. n 23 e r r o r s. add ( : e, has not the c o r r e c t l e n g t h! The l e n g t h o f e i s #{e. l e n g t h }, but i t must be #{c h a l l e n g e. n} ) 24 return f a l s e 25 end i f! ( 1.. b ). i n c l u d e?( counterrors ( ) ) 28 e r r o r s. add ( : e, i s not a non z e r o v e c t o r or weight ( e ) > 1. 1 GVbound GVbound = #{b }. weight ( e ) = #{ counterrors } ) 29 return f a l s e 30 end 31 end def m u l t i p l y I s Z e r o prng = Random. new ( c h a l l e n g e. seed ) 36 r = Array. new ( c h a l l e n g e. n, 0) data = ( c h a l l e n g e. r ). times. map{( c h a l l e n g e. n ). times. map{ prng. rand ( ) }} 39 matrix = data. t r a n s p o s e 40 vec = c o n v e r t S t r i n g 2 D i g i t A r r a y ( e ) upto ( ( c h a l l e n g e. n ) 1) do i 42 i f vec [ i ] == 1 43 r = matrix [ i ]. z i p ( r ). c o l l e c t { t, k t. t o i ˆ k. t o i } 44 end 45 end i f r. i n j e c t (:+)!= 0 48 e r r o r s. add ( : e, i s not a s o l u t i o n > He!= 0 ) 49 return f a l s e 50 end return true 53 end def hasvalidcontent 56 # check each element i s w i t h i n range ( ) 57 vec = c o n v e r t S t r i n g 2 D i g i t A r r a y ( e ) 58 #i f vec. n i l? vec. l e n g t h <= 0 59 # e r r o r s. add ( : e, i s b l a n k ) 60 #r e t u r n f a l s e 61 #end 62 bool = vec. map{ e l ( ). i n c l u d e?( e l ) }. i n j e c t (:&) 63 i f! bool 64 e r r o r s. add ( : e, i s not a binary s t r i n g ) 65 end 66 return bool
12 12 Crypto Lab end def counterrors 70 # count a l l 1 = c o n v e r t S t r i n g 2 D i g i t A r r a y ( e ) 72 i n j e c t (:+) 73 end def c o n v e r t S t r i n g 2 D i g i t A r r a y ( e ) 76 i f ( e. n i l?) 77 return n i l 78 end 79 # c o n v e r t d i g i t s t r i n g to to a d i g i t array 80 return e. s p l i t ( ). map(&: t o i ) 81 end end Listing 1.3. Solution model B Screenshots
13 Fig. 3. Welcome page Crypto Lab
14 14 Crypto Lab 2011 Fig. 4. List of challenges Fig. 5. New challenge created
15 Fig. 6. Hall of Fame Crypto Lab
16 16 Crypto Lab 2011 Fig. 7. Invalid solution Fig. 8. Valid solution
Improving the efficiency of Generalized Birthday Attacks against certain structured cryptosystems
Improving the efficiency of Generalized Birthday Attacks against certain structured cryptosystems Robert Niebuhr 1, Pierre-Louis Cayrel 2, and Johannes Buchmann 1,2 1 Technische Universität Darmstadt Fachbereich
More informationIntroduction to Google Drive Objectives:
Introduction to Google Drive Objectives: Learn how to access your Google Drive account Learn to create new documents using Google Drive Upload files to store on Google Drive Share files and folders with
More informationDesigning Information Devices and Systems I Spring 2017 Babak Ayazifar, Vladimir Stojanovic Homework 4
EECS 16A Designing Information Devices and Systems I Spring 2017 Babak Ayazifar, Vladimir Stojanovic Homework This homework is due February 22, 2017, at 2:59. Self-grades are due February 27, 2017, at
More informationSolutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16
Solutions of Exam Coding Theory (2MMC30), 23 June 2016 (1.a) Consider the 4 4 matrices as words in F 16 2, the binary vector space of dimension 16. C is the code of all binary 4 4 matrices such that the
More informationData Structure and Algorithm Homework #1 Due: 2:20pm, Tuesday, March 12, 2013 TA === Homework submission instructions ===
Data Structure and Algorithm Homework #1 Due: 2:20pm, Tuesday, March 12, 2013 TA email: dsa1@csie.ntu.edu.tw === Homework submission instructions === For Problem 1, submit your source code, a Makefile
More informationFrom BASIS DD to Barista Application in Five Easy Steps
Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates
More informationAdministering your Enterprise Geodatabase using Python. Jill Penney
Administering your Enterprise Geodatabase using Python Jill Penney Assumptions Basic knowledge of python Basic knowledge enterprise geodatabases and workflows You want code Please turn off or silence cell
More informationChemmineR: A Compound Mining Toolkit for Chemical Genomics in R
ChemmineR: A Compound Mining Toolkit for Chemical Genomics in R Yiqun Cao Anna Charisi Thomas Girke October 28, 2009 Introduction The ChemmineR package includes functions for calculating atom pair descriptors
More informationA Practical Comparison of Agile Web Frameworks
A Practical Agile Frame David Díaz Clavijo david@diazclavijo.com University of Las Palmas de Gran Canaria School of Computer Science Tutors: Cayetano Guerra Artal Alexis Quesada Arencibia Lydia Esther
More informationCS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #3: SQL---Part 1
CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #3: SQL---Part 1 Announcements---Project Goal: design a database system applica=on with a web front-end Project Assignment
More informationGeodatabase: Best Practices. Robert LeClair, Senior Instructor
Geodatabase: Best Practices Robert LeClair, Senior Instructor Agenda Geodatabase Creation Data Ownership Data Model Data Configuration Geodatabase Behaviors Data Validation Extending Performance Geodatabase
More informationMath.3336: Discrete Mathematics. Chapter 9 Relations
Math.3336: Discrete Mathematics Chapter 9 Relations Instructor: Dr. Blerina Xhabli Department of Mathematics, University of Houston https://www.math.uh.edu/ blerina Email: blerina@math.uh.edu Fall 2018
More informationFrom BASIS DD to Barista Application in Five Easy Steps
Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates
More informationImproving the Performance of the SYND Stream Cipher
Improving the Performance of the SYND Stream Cipher Mohammed Meziani, Gerhard Hoffmann and Pierre-Louis Cayrel AfricaCrypt 2012, July 10-12, Ifrane Morocco Backgrounds Previous Works XSYND Conclusion and
More informationDatabases through Python-Flask and MariaDB
1 Databases through Python-Flask and MariaDB Tanmay Agarwal, Durga Keerthi and G V V Sharma Contents 1 Python-flask 1 1.1 Installation.......... 1 1.2 Testing Flask......... 1 2 Mariadb 1 2.1 Software
More informationDesigning Information Devices and Systems I Fall 2018 Homework 5
Last Updated: 08-09-9 0:6 EECS 6A Designing Information Devices and Systems I Fall 08 Homework 5 This homework is due September 8, 08, at 3:59. Self-grades are due October, 08, at 3:59. Submission Format
More informationWeb Development Paradigms and how django and GAE webapp approach them.
Web Development Paradigms and how django and GAE webapp approach them. Lakshman Prasad Agiliq Solutions September 25, 2010 Concepts and abstractions used to represent elements of a program Web Development
More informationOctave. Tutorial. Daniel Lamprecht. March 26, Graz University of Technology. Slides based on previous work by Ingo Holzmann
Tutorial Graz University of Technology March 26, 2012 Slides based on previous work by Ingo Holzmann Introduction What is? GNU is a high-level interactive language for numerical computations mostly compatible
More information! Break up problem into several parts. ! Solve each part recursively. ! Combine solutions to sub-problems into overall solution.
Divide-and-Conquer Chapter 5 Divide and Conquer Divide-and-conquer.! Break up problem into several parts.! Solve each part recursively.! Combine solutions to sub-problems into overall solution. Most common
More informationCopyright 2000, Kevin Wayne 1
Divide-and-Conquer Chapter 5 Divide and Conquer Divide-and-conquer. Break up problem into several parts. Solve each part recursively. Combine solutions to sub-problems into overall solution. Most common
More informationIntroduction to Portal for ArcGIS. Hao LEE November 12, 2015
Introduction to Portal for ArcGIS Hao LEE November 12, 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration options Portal for ArcGIS + ArcGIS for
More informationInstructor: Amol Deshpande
Instructor: Amol Deshpande amol@cs.umd.edu } New topics to discuss More constructs in E/R modeling Conver@ng from E/R to rela@onal schema Crea@ng some E/R models Ruby on Rails } Other things Grading of
More informationGeodatabase Best Practices. Dave Crawford Erik Hoel
Geodatabase Best Practices Dave Crawford Erik Hoel Geodatabase best practices - outline Geodatabase creation Data ownership Data model Data configuration Geodatabase behaviors Data integrity and validation
More informationGeodatabase Programming with Python John Yaist
Geodatabase Programming with Python John Yaist DevSummit DC February 26, 2016 Washington, DC Target Audience: Assumptions Basic knowledge of Python Basic knowledge of Enterprise Geodatabase and workflows
More informationDesigning Information Devices and Systems I Spring 2017 Babak Ayazifar, Vladimir Stojanovic Homework 2
EECS 16A Designing Information Devices and Systems I Spring 2017 Babak Ayazifar, Vladimir Stojanovic Homework 2 This homework is due February 6, 2017, at 23:59. Self-grades are due February 9, 2017, at
More informationOUTLINE. Deterministic and Stochastic With spreadsheet program : Integrated Mathematics 2
COMPUTER SIMULATION OUTLINE In this module, we will focus on the act simulation, taking mathematical models and implement them on computer systems. Simulation & Computer Simulations Mathematical (Simulation)
More informationAnnouncements for This Lecture
Lecture 26 Sorting Announcements for Tis Lecture Prelim/Finals Prelims in andbac room Gates Hall 216 Open business ours Get tem any day tis wee Final: Survey Dec still 17 up t for 2:00-4:30pm A5 Study
More informationICT12 8. Linear codes. The Gilbert-Varshamov lower bound and the MacWilliams identities SXD
1 ICT12 8. Linear codes. The Gilbert-Varshamov lower bound and the MacWilliams identities 19.10.2012 SXD 8.1. The Gilbert Varshamov existence condition 8.2. The MacWilliams identities 2 8.1. The Gilbert
More informationDear Teacher, Overview Page 1
Dear Teacher, You are about to involve your students in one of the most exciting frontiers of science the search for other worlds and life in solar systems beyond our own! Using the MicroObservatory telescopes,
More informationSearching Algorithms. CSE21 Winter 2017, Day 3 (B00), Day 2 (A00) January 13, 2017
Searching Algorithms CSE21 Winter 2017, Day 3 (B00), Day 2 (A00) January 13, 2017 Selection Sort (MinSort) Pseudocode Rosen page 203, exercises 41-42 procedure selection sort(a 1, a 2,..., a n : real numbers
More information/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111
/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111 27 """ 28 Tutorial for the Million Song Dataset 29 30 by Thierry Bertin - Mahieux ( 2011) Columbia University
More informationLecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz
Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 4 1 Circuit Complexity Circuits are directed, acyclic graphs where nodes are called gates and edges are called
More informationDatabase Systems SQL. A.R. Hurson 323 CS Building
SQL A.R. Hurson 323 CS Building Structured Query Language (SQL) The SQL language has the following features as well: Embedded and Dynamic facilities to allow SQL code to be called from a host language
More informationTryton Technical Training
Tryton Technical Training N. Évrard B 2CK September 18, 2015 N. Évrard (B 2 CK) Tryton Technical Training September 18, 2015 1 / 56 Overview and Installation Outline 1 Overview and Installation Tryton
More informationELEC 405/ELEC 511 Error Control Coding. Hamming Codes and Bounds on Codes
ELEC 405/ELEC 511 Error Control Coding Hamming Codes and Bounds on Codes Single Error Correcting Codes (3,1,3) code (5,2,3) code (6,3,3) code G = rate R=1/3 n-k=2 [ 1 1 1] rate R=2/5 n-k=3 1 0 1 1 0 G
More informationAdministering Your Enterprise Geodatabase using Python. Gerhard Trichtl
Administering Your Enterprise Geodatabase using Python Gerhard Trichtl What is the Geodatabase What is the Geodatabase A physical store of geographic data - Scalable storage model supported on different
More information1 Maintaining a Dictionary
15-451/651: Design & Analysis of Algorithms February 1, 2016 Lecture #7: Hashing last changed: January 29, 2016 Hashing is a great practical tool, with an interesting and subtle theory too. In addition
More informationIntroduction to Python
Introduction to Python Luis Pedro Coelho Institute for Molecular Medicine (Lisbon) Lisbon Machine Learning School II Luis Pedro Coelho (IMM) Introduction to Python Lisbon Machine Learning School II (1
More informationCourse Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.
Course Announcements Bacon is due next Monday. Today s lecture will help thinking about your DB interface. Next lab is about drawing UIs. John Jannotti (cs32) ORMs Mar 9, 2017 1 / 24 ORMs John Jannotti
More informationVT STATEWIDE PROPERTY PARCEL MAPPING PROJECT & PROGRAM
VT STATEWIDE PROPERTY PARCEL MAPPING PROJECT & PROGRAM BUILDING A FOUNDATIONAL MAPPING DATA LAYER Leslie Pelch, VCGI April 2017 WHAT ARE THE STATEWIDE PROPERTY PARCEL MAPPING PROJECT & PROGRAM? A project
More informationCS5314 Randomized Algorithms. Lecture 15: Balls, Bins, Random Graphs (Hashing)
CS5314 Randomized Algorithms Lecture 15: Balls, Bins, Random Graphs (Hashing) 1 Objectives Study various hashing schemes Apply balls-and-bins model to analyze their performances 2 Chain Hashing Suppose
More informationGeodatabase Programming with Python
DevSummit DC February 11, 2015 Washington, DC Geodatabase Programming with Python Craig Gillgrass Assumptions Basic knowledge of python Basic knowledge enterprise geodatabases and workflows Please turn
More informationSt. Kitts and Nevis Heritage and Culture
St. Kitts and Nevis Heritage and Culture Eloise Stancioff, Habiba, Departmet of Culture St. Kitts HERA workshop: March 17-20, 2015 Goals Using freely available open source platforms, we implement two different
More informationScience Analysis Tools Design
Science Analysis Tools Design Robert Schaefer Software Lead, GSSC July, 2003 GLAST Science Support Center LAT Ground Software Workshop Design Talk Outline Definition of SAE and system requirements Use
More informationan efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.
1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search
More informationBoundary and Annexation Survey (BAS)
Boundary and Annexation Survey (BAS) New Mexico SDC Meeting Chris Wingate Geography Division U.S. Census Bureau 1 Agenda Boundary and Annexation Survey (BAS) BAS Overview American Community Survey (ACS)
More informationNew Minimal Weight Representations for Left-to-Right Window Methods
New Minimal Weight Representations for Left-to-Right Window Methods James A. Muir 1 and Douglas R. Stinson 2 1 Department of Combinatorics and Optimization 2 School of Computer Science University of Waterloo
More informationSubwatersheds File Geodatabase Feature Class
Subwatersheds File Geodatabase Feature Class Tags subwatersheds, watersheds Summary shows the subwatersheds of the 9 watersheds in TRCA's jurisdiction Description sub watershed boundaries in TRCA jurisdiction.
More informationCS 231: Algorithmic Problem Solving
CS 231: Algorithmic Problem Solving Naomi Nishimura Module 4 Date of this version: June 11, 2018 WARNING: Drafts of slides are made available prior to lecture for your convenience. After lecture, slides
More informationoutput H = 2*H+P H=2*(H-P)
Ecient Algorithms for Multiplication on Elliptic Curves by Volker Muller TI-9/97 22. April 997 Institut fur theoretische Informatik Ecient Algorithms for Multiplication on Elliptic Curves Volker Muller
More informationCAPE CHEMISTRY PAST PAPERS UNIT 1
page 1 / 6 page 2 / 6 cape chemistry past papers pdf DOWNLOAD.PDF. Recommend Documents. CAPE MOB Past Papers. This is a collection of Past Papers that include Unit 1 and 2 from 2005-2014.... CAPE Chemistry
More informationSubstance identification and how to report it in IUCLID 6
Substance identification and how to report it in IUCLID 6 Chemical Watch Expo 26 April 2017 Berlin Laszlo Majoros Scientific Officer European Chemicals Agency Improved IT tool Easier and more transparent
More informationEnumeration and generation of all constitutional alkane isomers of methane to icosane using recursive generation and a modified Morgan s algorithm
The C n H 2n+2 challenge Zürich, November 21st 2015 Enumeration and generation of all constitutional alkane isomers of methane to icosane using recursive generation and a modified Morgan s algorithm Andreas
More informationMATH 137 : Calculus 1 for Honours Mathematics. Online Assignment #2. Introduction to Sequences
1 MATH 137 : Calculus 1 for Honours Mathematics Online Assignment #2 Introduction to Sequences Due by 9:00 pm on WEDNESDAY, September 19, 2018 Instructions: Weight: 2% This assignment covers the topics
More informationCOMPUTER SCIENCE TRIPOS
CST.2016.2.1 COMPUTER SCIENCE TRIPOS Part IA Tuesday 31 May 2016 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the
More informationDynamic Programming. Shuang Zhao. Microsoft Research Asia September 5, Dynamic Programming. Shuang Zhao. Outline. Introduction.
Microsoft Research Asia September 5, 2005 1 2 3 4 Section I What is? Definition is a technique for efficiently recurrence computing by storing partial results. In this slides, I will NOT use too many formal
More informationTime to learn about NP-completeness!
Time to learn about NP-completeness! Harvey Mudd College March 19, 2007 Languages A language is a set of strings Examples The language of strings of all a s with odd length The language of strings with
More informationDiscrete Mathematics & Mathematical Reasoning Course Overview
Discrete Mathematics & Mathematical Reasoning Course Overview Colin Stirling Informatics Colin Stirling (Informatics) Discrete Mathematics Today 1 / 19 Teaching staff Lecturers: Colin Stirling, first half
More informationWho am I? Math 1080: Numerical Linear Algebra. Books. Format
Who am I? Math 18: Numerical Linear Algebra M M Sussman sussmanm@mathpittedu Office Hours: MW 1:45PM-2:45PM, Thack 622 Part-time faculty in Math Dept Experience at Bettis lab Administer 27/271 Numerical
More informationV1.0. Session: Labelled Maps Verification, entering names into a GIS and Google Maps/Earth. Pier-Giorgio Zaccheddu
Session: Labelled Maps Verification, entering names into a GIS and Google Maps/Earth V1.0 Pier-Giorgio Zaccheddu Federal Agency for Cartography and Geodesy (BKG) Richard-Strauss-Allee 11 60598 Frankfurt
More informationLowercase letters on four lines a-z
Lowercase letters on four lines a-z 04 The Measured Mom, LLC My blog has hundreds of free resources for parents and teachers Click here for more free printables! Thank you for respecting my Terms of Use.
More informationThe course web site s notes entitled Switches, Gates and Circuits which can be found at will be useful to you throughout the lab.
Circuits Lab Names: Objectives Learn how circuits work, different properties of circuits, and how to derive truth tables, circuits from functions and simply circuits using Boolean circuit equivalence..
More informationUtilizing Data from American FactFinder with TIGER/Line Shapefiles in ArcGIS
Utilizing Data from American FactFinder with TIGER/Line Shapefiles in ArcGIS Web Adams, GISP Data Dissemination Specialist U.S. Census Bureau New York Regional Office 1 What We Do Decennial Census Every
More informationDeterminant of a Matrix
13 March 2018 Goals We will define determinant of SQUARE matrices, inductively, using the definition of Minors and cofactors. We will see that determinant of triangular matrices is the product of its diagonal
More informationLinear Congruences. The equation ax = b for a, b R is uniquely solvable if a 0: x = b/a. Want to extend to the linear congruence:
Linear Congruences The equation ax = b for a, b R is uniquely solvable if a 0: x = b/a. Want to extend to the linear congruence: ax b (mod m), a, b Z, m N +. (1) If x 0 is a solution then so is x k :=
More informationON SITE SYSTEMS Chemical Safety Assistant
ON SITE SYSTEMS Chemical Safety Assistant CS ASSISTANT WEB USERS MANUAL On Site Systems 23 N. Gore Ave. Suite 200 St. Louis, MO 63119 Phone 314-963-9934 Fax 314-963-9281 Table of Contents INTRODUCTION
More informationPortal for ArcGIS: An Introduction
Portal for ArcGIS: An Introduction Derek Law Esri Product Management Esri UC 2014 Technical Workshop Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration
More informationLarge Scale Data Analysis Using Deep Learning
Large Scale Data Analysis Using Deep Learning Linear Algebra U Kang Seoul National University U Kang 1 In This Lecture Overview of linear algebra (but, not a comprehensive survey) Focused on the subset
More informationEEOS 381 -Spatial Databases and GIS Applications
EEOS 381 -Spatial Databases and GIS Applications Lecture 5 Geodatabases What is a Geodatabase? Geographic Database ESRI-coined term A standard RDBMS that stores and manages geographic data A modern object-relational
More informationNotater: INF3331. Veronika Heimsbakk December 4, Introduction 3
Notater: INF3331 Veronika Heimsbakk veronahe@student.matnat.uio.no December 4, 2013 Contents 1 Introduction 3 2 Bash 3 2.1 Variables.............................. 3 2.2 Loops...............................
More informationAn Efficient Lattice-based Secret Sharing Construction
An Efficient Lattice-based Secret Sharing Construction Rachid El Bansarkhani 1 and Mohammed Meziani 2 1 Technische Universität Darmstadt Fachbereich Informatik Kryptographie und Computeralgebra, Hochschulstraße
More informationDesigning Information Devices and Systems I Spring 2016 Elad Alon, Babak Ayazifar Homework 12
EECS 6A Designing Information Devices and Systems I Spring 06 Elad Alon, Babak Ayazifar Homework This homework is due April 6, 06, at Noon Homework process and study group Who else did you work with on
More informationSCAUG Community Maps Building a Living Atlas of the World
SCAUG Community Maps Building a Living Atlas of the World Mark Stewart Topics: SCAUG ArcGIS Online Overview Community Maps Overview Community Maps Workflow Update Process Utilizing Your Contribution Community
More informationDefinition: Let S and T be sets. A binary relation on SxT is any subset of SxT. A binary relation on S is any subset of SxS.
4 Functions Before studying functions we will first quickly define a more general idea, namely the notion of a relation. A function turns out to be a special type of relation. Definition: Let S and T be
More information1300 Linear Algebra and Vector Geometry Week 2: Jan , Gauss-Jordan, homogeneous matrices, intro matrix arithmetic
1300 Linear Algebra and Vector Geometry Week 2: Jan 14 18 1.2, 1.3... Gauss-Jordan, homogeneous matrices, intro matrix arithmetic R. Craigen Office: MH 523 Email: craigenr@umanitoba.ca Winter 2019 What
More informationGrundlagen der Bioinformatik Summer semester Lecturer: Prof. Daniel Huson
Grundlagen der Bioinformatik, SS 10, D. Huson, April 12, 2010 1 1 Introduction Grundlagen der Bioinformatik Summer semester 2010 Lecturer: Prof. Daniel Huson Office hours: Thursdays 17-18h (Sand 14, C310a)
More informationAutomated Conversion and Processing of Weather Data in Near-Real Time Daniel Konde QSS Group Inc. Rory Moore Raytheon
Automated Conversion and Processing of Weather Data in Near-Real Time Daniel Konde QSS Group Inc. Rory Moore Raytheon 1.0 Abstract In the spring of 2003 the National Weather Service (NWS) developed an
More informationWhat is HR2000 e-claim?
HR 2000 SDN BHD e-claim is the Self Service solution enabling employees to enter their own mileage and expense claims from their workplace PC or home computer. HR2000 e-claim The Employee Self Service
More informationCHEMICAL INVENTORY ENTRY GUIDE
CHEMICAL INVENTORY ENTRY GUIDE Version Date Comments 1 October 2013 Initial A. SUMMARY All chemicals located in research and instructional laboratories at George Mason University are required to be input
More informationMass Asset Additions. Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved.
Overview Effective mm/dd/yy Page 1 of 47 Rev 1 System References None Distribution Oracle Assets Job Title * Ownership The Job Title [list@yourcompany.com?subject=eduxxxxx] is responsible for ensuring
More informationInformation System as a Tool for Marine Spatial Planning The SmartSea Vision and a Prototype
Information System as a Tool for Marine Spatial Planning The SmartSea Vision and a Prototype Ari Jolma Marine Research Centre Finnish Environment Institute May 10, 2017 ISESS 2017, Zadar, Croatia Contents
More informationHamming Codes 11/17/04
Hamming Codes 11/17/04 History In the late 1940 s Richard Hamming recognized that the further evolution of computers required greater reliability, in particular the ability to not only detect errors, but
More informationTroubleshooting Replication and Geodata Services. Liz Parrish & Ben Lin
Troubleshooting Replication and Geodata Services Liz Parrish & Ben Lin AGENDA: Troubleshooting Replication and Geodata Services Overview Demo Troubleshooting Q & A Overview of Replication Liz Parrish What
More informationLED Lighting Facts: Manufacturer Guide
LED Lighting Facts: Manufacturer Guide 2018 1 P a g e L E D L i g h t i n g F a c t s : M a n u f a c t u r e r G u i d e TABLE OF CONTENTS Section 1) Accessing your account and managing your products...
More informationChapter 3 Source Coding. 3.1 An Introduction to Source Coding 3.2 Optimal Source Codes 3.3 Shannon-Fano Code 3.4 Huffman Code
Chapter 3 Source Coding 3. An Introduction to Source Coding 3.2 Optimal Source Codes 3.3 Shannon-Fano Code 3.4 Huffman Code 3. An Introduction to Source Coding Entropy (in bits per symbol) implies in average
More informationAppendix 4 Weather. Weather Providers
Appendix 4 Weather Using weather data in your automation solution can have many benefits. Without weather data, your home automation happens regardless of environmental conditions. Some things you can
More informationmylab: Chemical Safety Module Last Updated: January 19, 2018
: Chemical Safety Module Contents Introduction... 1 Getting started... 1 Login... 1 Receiving Items from MMP Order... 3 Inventory... 4 Show me Chemicals where... 4 Items Received on... 5 All Items... 5
More informationIntroduction to Portal for ArcGIS
Introduction to Portal for ArcGIS Derek Law Product Management March 10 th, 2015 Esri Developer Summit 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration
More informationINTEGRAL. Science Operations Centre. Announcement of Opportunity for Observing Proposals (AO-11) INT/OAG/ /Dc Issue 1.
Science Operations Centre Announcement of Opportunity for Observing Proposals (AO-11) INT/OAG/13-0383/Dc Issue 1.0 25 February 2013 Prepared by Miguel Arregui, Emilio Salazar Date: 25 February 2013 Page:
More informationCode-based cryptography
Code-based graphy Laboratoire Hubert Curien, UMR CNRS 5516, Bâtiment F 18 rue du professeur Benoît Lauras 42000 Saint-Etienne France pierre.louis.cayrel@univ-st-etienne.fr 16 Novembre 2011 Pierre-Louis
More informationMath 98 - Introduction to MATLAB Programming. Spring Lecture 3
Reminders Instructor: Chris Policastro Class Website: https://math.berkeley.edu/~cpoli/math98/fall2016.html Assignment Submission: https://bcourses.berkeley.edu Homework 2 1 Due September 8th by 11:59pm
More informationSkriptsprachen. Numpy und Scipy. Kai Dührkop. Lehrstuhl fuer Bioinformatik Friedrich-Schiller-Universitaet Jena
Skriptsprachen Numpy und Scipy Kai Dührkop Lehrstuhl fuer Bioinformatik Friedrich-Schiller-Universitaet Jena kai.duehrkop@uni-jena.de 24. September 2015 24. September 2015 1 / 37 Numpy Numpy Numerische
More informationIncorporating ArcGIS Pro in your Curriculum
AAG, Boston 2017 April 5, 2017 Incorporating ArcGIS Pro in your Curriculum Geri Miller Agenda Concerns Acknowledged Learning curve ArcGIS Pro does not have all the tools (perception) Licensing and offline
More informationNon-Interactive Zero Knowledge (II)
Non-Interactive Zero Knowledge (II) CS 601.442/642 Modern Cryptography Fall 2017 S 601.442/642 Modern CryptographyNon-Interactive Zero Knowledge (II) Fall 2017 1 / 18 NIZKs for NP: Roadmap Last-time: Transformation
More informationDefinition of the Drazin Inverse
15 The Drazin Inverse Lab Objective: The Drazin inverse of a matrix is a pseudoinverse which preserves certain spectral properties of the matrix. In this lab, we compute the Drazin inverse using the Schur
More informationSolving LWE problem with bounded errors in polynomial time
Solving LWE problem with bounded errors in polynomial time Jintai Ding, Southern Chinese University of Technology, University of Cincinnati, ding@mathucedu Abstract In this paper, we present a new algorithm,
More informationChapter 5. Divide and Conquer. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 5 Divide and Conquer Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Divide-and-Conquer Divide-and-conquer. Break up problem into several parts. Solve each
More informationLecture 17: Perfect Codes and Gilbert-Varshamov Bound
Lecture 17: Perfect Codes and Gilbert-Varshamov Bound Maximality of Hamming code Lemma Let C be a code with distance 3, then: C 2n n + 1 Codes that meet this bound: Perfect codes Hamming code is a perfect
More informationMatrices A matrix is a rectangular array of numbers. For example, the following rectangular arrays of numbers are matrices: 2 1 2
Matrices A matrix is a rectangular array of numbers For example, the following rectangular arrays of numbers are matrices: 7 A = B = C = 3 6 5 8 0 6 D = [ 3 5 7 9 E = 8 7653 0 Matrices vary in size An
More informationBackground: Lattices and the Learning-with-Errors problem
Background: Lattices and the Learning-with-Errors problem China Summer School on Lattices and Cryptography, June 2014 Starting Point: Linear Equations Easy to solve a linear system of equations A s = b
More information