1461175458-aadfb290-2655-4e3f-bd76-849c75be5f7a

1. A broadcast encryption method comprising:
generating, by a server, a base group through combinations of integers out of a plurality of different integers having values greater than 1, and assigning the base group of different combinations to each user of a plurality of users; generating secret information for each user through calculations with key value information allocated to a corresponding user by using the base group allocated to each user as a base, and sending the secret information to each user; generating an inverse-base parameter value through calculations with an integer used to produce the base group and key value information of at least one privileged user, and sending the produced inverse-base parameter value to each user, in order for only the at least one privileged user of the plurality of users to eliminate the base group from the secret information; and deriving a group key based on the key value information of the privileged users, encrypting a session key with the derived group key and sending the encrypted session key to each user.
2. The method as claimed in claim 1, wherein the integers for the generating the base group are coprimes.
3. The method as claimed in claim 1, wherein the inverse-base parameter value is generated with at least one random number.
4. The method as claimed in claim 3, wherein the at least one random number is used for the deriving the group key.
5. The method as claimed in claim 1, wherein the secret information for each user is generated with a random value.
6. The method as claimed in claim 3, wherein the at least one random number is sent to each user.
7. The method as claimed in claim 1, wherein the base of the secret information for each user contains the base group allocated to each user and a common integer commonly used for all users, and the group key is derived to have the base of the common integer.
8. The method as claimed in claim 1, further comprising sending, to each user, information of combinations for generating a corresponding base group.
9. The method as claimed in claim 1, further comprising sending information of a key value allocated to a user every time a broadcast message is sent.
10. A broadcast encryption method comprising:
grouping, by a server, into a plurality of groups one upper group of a plurality of users receiving a broadcast message, and assigning a key value to corresponding users of each group; generating a base group for each group through combinations of integers of a plurality of different integers having values greater than 1, and assigning users of each group the base group produced through a different combination; generating secret information for each user through calculations with key value information allocated to a corresponding user of each group by using the base group allocated to each user as a base, and sending the secret information to each user; generating an inverse-base parameter value through calculations with integers used to produce the base group and key value information of at least one privileged user, and sending the inverse-base parameter value to users of a corresponding group, in order for only the at least one privileged user of the plurality of users to eliminate the base group from the secret information; and deriving a group key for each group with the key value information of the at least one privileged user, encrypting a session key with the group key, and sending the encrypted session key to each user.
11. The method as claimed in claim 10, wherein a random number is assigned to each group, and the random number is used in calculating the secret information of each user to be sent to the users of each group.
12. The method as claimed in claim 11, wherein a random number assigned to a corresponding group is used in the generating the inverse-base parameter value.
13. The method as claimed in claim 11, wherein the group key for each group is generated with a random number assigned to a corresponding group.
14. The method as claimed in claim 10, wherein integers used for the generating the base group are coprimes.
15. The method as claimed in claim 10, wherein the inverse-base parameter value is generated with at least one random number.
16. The method as claimed in claim 15, wherein at least one random number is used for the deriving of the group key.
17. The method as claimed in claim 10, wherein the server produces it’s own random number which is used for the generating the secret information for each user.
18. The method as claimed in claim 15, wherein the at least one random number is generated with the server’s own random number, and sent to each user.
19. The method as claimed in claim 10, wherein the base of the secret information for each user contains a base group assigned to each user and a common integer commonly used for all users, and the group key is derived based on the common integer.
20. The method as claimed in claim 10, wherein the server sends, to each user, the information of combinations for producing a corresponding base group.
21. The method as claimed in claim 10, wherein the server separately calculates an exponent part and a base part in the generating the inverse-base parameter value, and separately sends the exponent part and base part of the inverse-base parameter value.
22. The method as claimed in claim 10, wherein each group is grouped to a plurality of sub-groups, a key value is assigned to users of each sub-group, and secret information for each user is generated through calculations with key value information assigned to users of each sub-group.
23. The method as claimed in claim 10, wherein, if there are no unauthorized users in a specific group of the groups, a separate key value assigned to each group is established as a group key for the corresponding group.
24. The method as claimed in claim 10, wherein the server sends the key value information assigned to the users every time the server sends the broadcast message.
25. A broadcast encryption method comprising:
generating a base group through combinations of integers of a plurality of different integers having values greater than 1, and allocating the base group generated through different combinations to each user of a plurality of users; generating secret information for each user through calculations with a key value information allocated to a corresponding user based on the base group allocated to each user, and receiving by each user from a server the secret information; generating an inverse-base parameter value through calculations with integers used to produce the base group and the key value information of one or more privileged users, and receiving by each of the users the produced inverse-base parameter value, in order for only the privileged users of the plurality of users to eliminate the base group from the secret information; generating a group key by using the secret information for each user received from the server and the inverse-base parameter value; and decrypting, by a processor of each user, a session key received from the server by using the group key.
26. The method as claimed in claim 25, wherein the integers for the generating the base group are coprimes.
27. The method as claimed in claim 26, wherein the inverse-base parameter value is calculated with at least one random number.
28. The method as claimed in claim 27, wherein the at least one random number is used for the deriving the group key.
29. The method as claimed in claim 25, wherein the server produces it’s own random number which is used in the generating the secret information.
30. The method as claimed in claim 29, wherein at least one random number is calculated with the server’s own random number, and then received from the server.
31. The method as claimed in claim 25, wherein a base of the produced secret information for each user contains the base group assigned to each user and a common integer commonly used for all users, and the group key is derived by using the common integer as a base.
32. The method as claimed in claim 25, wherein each user receives, from the server, information of a combination for generating the corresponding base group.
33. The method as claimed in claim 25, wherein the information of the key value assigned to each user is received from the server every time the broadcast message is sent.
34. A broadcast encryption method comprising: grouping into a plurality of groups one upper group having a plurality of users receiving a broadcast message, and assigning a key value to users of each group; generating a base group for each group through combinations of integers of a plurality of different integers having values greater than 1, and assigning each user of each group the base group produced through a different combination; generating secret information for each user through calculations with key value information assigned to users of each group by using as a base the base group assigned to each user, and receiving by each user from a server the produced secret information for each user; generating an inverse-base parameter value through calculations with the integers used to produce the base group and the key value information of at least one privileged user of the plurality of users, and receiving from the server the inverse-base parameter value by users of each corresponding group, in order for only the at least one privileged user to eliminate the base group from the secret information; generating a group key for each group based on the secret information for each user received from the server and the inverse-base parameter value; and decrypting, by a processor of each user, a session key received from the server based on the group key for each group.
35. The method as claimed in claim 34, wherein a random number is assigned to each group, and the random number is used in the generating the secret information of each user to be sent to the users of each group.
36. The method as claimed in claim 34, wherein a random number assigned to a corresponding group is used in the generating the inverse-base parameter value.
37. The method as claimed in claim 35, wherein the group key for each group is generated with a random number assigned to the corresponding group.
38. The method as claimed in claim 34, wherein integers for of the generating the base group are coprimes.
39. The method as claimed in claim 34, wherein the inverse-base parameter value is calculated with at least one random number.
40. The method as claimed in claim 39, wherein the at least one random number is used the deriving the group key.
41. The method as claimed in claim 35, wherein the server produces it’s own random number which is used in the generating the secret information for each user.
42. The method as claimed in claim 41, wherein at least one random number is calculated with the server’s own random number, and received by each user from the server.
43. The method as claimed in claim 35, wherein a base of the secret information of each user contains a base group assigned to each user and a common integer commonly used for all users, and the group key is derived based on the common integer.
44. The method as claimed in claim 35, wherein users of each group receive from the server the information of combinations for producing the corresponding base group.
45. The method as claimed in claim 35, wherein an exponent part and a base part are separately calculated in the generating the inverse-base parameter value, and the exponent part and base part of the inverse-base parameter value are received from the server.
46. The method as claimed in claim 35, wherein each group is grouped to a plurality of sub-groups, a key value is assigned to corresponding users of each subgroup, and secret information for each user is generated through calculations with key value information assigned to the corresponding users of each sub-group.
47. The method as claimed in claim 35, wherein, if there are no unauthorized users in a specific group of the groups, a separate key value assigned to each group is established as a group key to the corresponding group.
48. The method as claimed in claim 35, wherein the key value information assigned to the users is received from the server every time the server sends the broadcast message.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A computing system for automatically determining hand andor fingering positioning information for performing a musical composition on at least one musical instrument, comprising:
a. a memory,
b. an input device for inputting the musical composition into the computing system,
c. a processor for automatically (i) identifying all strokes and stroke groups in the input musical composition, wherein a stroke is a note or a chord, and wherein a stroke group for each instrument comprises sequential strokes of the musical composition that can be played at one positional location on that instrument, (ii) selecting a stroke group to be used to determine the hand andor fingering information for each stroke to be performed on each instrument, wherein each selection is based on the shortest path of hand andor fingering movement on the instrument between sequential strokes, and (iii) using the selected stroke groups to determine the hand andor fingering positioning information for playing the strokes in the musical composition on each musical instrument, and
d. an output device for outputting the hand andor fingering positioning information for performance of the musical composition on at least one musical instrument, wherein at least one musical instrument is selected from the group consisting of a stringed instrument, a woodwind instrument, a brass instrument, a keyboard instrument, and a percussion instrument.
2. The computing system according to claim 1, wherein at least one musical instrument is selected from the group consisting of banjo, guitar, bass, harp, lute, mandolin, viola, violin, violoncello, bassoon, clarinet, flute, oboe, saxophone, trombone, cornet, horn, trumpet, tuba, accordion, organ, piano, drum and xylophone.
3. The computing system of claim 1, wherein the hand andor fingering positioning information comprises an array of hand position information selected from the group consisting of which hand is being described, which finger is placed where on at least one musical instrument, and to which stroke in the musical composition the information refers.
4. The computing system according to claim 3, wherein at least one musical instrument is selected from the group consisting banjo, guitar, bass, harp, lute, mandolin, viola, violin, violoncello, bassoon, clarinet, flute, oboe, saxophone, trombone, cornet, horn, trumpet, tuba, accordion, organ, piano, drum and xylophone.
5. The computing system of claim 1, wherein the hand andor fingering positioning information minimizes hand movement when the musical composition is performed on the musical instrument, or makes performance of the musical composition on the musical instrument easier.
6. The computing system of claim 1, wherein the input device is selected from the group consisting of a data storage device containing digital musical data, a computer network from which digital musical data are obtained, a computer program, stored on a computer readable medium, where digital musical data are entered by a mouse, keyboard, or tablet, a MIDI device providing digital musical data, a digitizing scanner that scans paper containing the musical composition and a means of converting the digitized image into digital musical data, a microphone that captures musical sounds and a converter that converts the sounds into digital musical data.
7. The computing system of claim 1, wherein the output device is selected from the group consisting of a data storage device, a computer network, a printer, a computer monitor, and a device that uses the hand andor fingering information for a musical performance.
8. The computing system of claim 1, wherein the computing system comprises a device for digitizing a musical composition that is input in a non-digitized form.
9. The computing system of claim 1, wherein the hand andor fingering positional information is provided for at least two different musical instruments.
10. A computing system for automatically determining hand andor fingering positioning information for performing a musical composition on at least one musical instrument, comprising:
a. a memory,
b. an input device for inputting the musical composition into the computing system,
c. a processor for automatically (i) identifying all strokes and stroke groups in the input musical composition, wherein a stroke is a note or a chord, and wherein a stroke group for an instrument comprises sequential strokes of the musical composition that can be played at one positional location on that instrument, (ii) selecting a stroke group to be used to determine the hand andor fingering information for each stroke to be performed on each instrument, wherein each selection is consistent with a user-selected secondary manner of performing the musical composition, and (iii) using the selected stroke groups to determine the hand andor fingering positioning information for playing the strokes in the musical composition on each musical instrument in the user-selected secondary manner, and
d. an output device for outputting the hand andor fingering positioning information for performance of the musical composition on the at least one musical instrument according to the user selected secondary manner, wherein at least one musical instrument is selected from the group consisting of a stringed instrument, a woodwind instrument, a brass instrument, a keyboard instrument, and a percussion instrument.
11. The computing system of claim 10, wherein at least one musical instrument is selected from the group consisting of banjo, guitar, bass, harp, lute, mandolin, viola, violin, violoncello, bassoon, clarinet, flute, oboe, saxophone, trombone, comet, horn, trumpet, tuba, accordion, organ, piano, drum and xylophone.
12. The computing system of claim 10, wherein the hand andor fingering positioning information comprises an array of hand position information selected from the group consisting of which hand is being described, which finger is placed where on the at least one musical instrument, and to which stroke in the musical composition the information refers.
13. The computing system of claim 12, wherein at least one musical instrument is selected from the group consisting of banjo, guitar, bass, harp, lute, mandolin, viola, violin, violoncello, bassoon, clarinet, flute, oboe, saxophone, trombone, cornet, horn, trumpet, tuba, accordion, organ, piano, drum and xylophone.
14. The computing system of claim 10, wherein the user-selected secondary manner is selected from the group consisting of easier fingering, minimized hand movement, ease of performance, tonal quality, natural or artificial harmonics, and techniques that affect how a note is to played.
15. The computing system of claim 10, wherein the input means is selected from the group consisting of a data storage device containing digital musical data, a computer network from which digital musical data are obtained, a computer program, stored on a computer readable medium, where digital musical data are entered by a mouse, keyboard, or tablet, a MIDI device providing digital musical data, a digitizing scanner that scans paper containing the musical composition and a means of converting the digitized image into digital musical data, a microphone that captures musical sounds and a converter that converts the sounds into digital musical data.
16. The computing system of claim 10, wherein the output means is selected from the group consisting of a data storage device, a computer network, a printer, a computer monitor, and a device that uses the hand andor fingering information for a musical performance.
17. A method for automatically determining hand andor fingering positional information for performing a musical composition on at least one musical instrument, comprising:
a. providing a computing system,
b. inputting the musical composition into the computing system,
c. using the computing system to automatically (i) identify all strokes and stroke groups in the input musical composition, wherein a stroke is a note or a chord, and wherein a stroke group for an instrument comprises sequential strokes of the musical composition that can be played at one positional location on that instrument, (ii) select a stroke group to be used to determine the hand andor fingering information for each stroke to be performed on each instrument, wherein all selections are either (a) based on the shortest path of hand andor fingering movement between sequential strokes on the musical instrument, or (b) consistent with a user-selected secondary manner of performing the musical composition, and (iii) use the selected stroke groups to determine the hand andor fingering positioning information for playing the strokes in the musical composition on each musical instrument, and
d. outputting the hand andor fingering positioning information for performance of the musical composition on the at least one musical instrument, wherein at least one musical instrument is selected from the group consisting of a stringed instrument, a woodwind instrument, a brass instrument, a keyboard instrument, and a percussion instrument.
18. The method of claim 17, wherein at least one musical instrument is selected from the group consisting of banjo, guitar, bass, harp, lute, mandolin, viola, violin, violoncello, bassoon, clarinet, flute, oboe, saxophone, trombone, cornet, horn, trumpet, tuba, accordion, organ, piano, drum and xylophone.
19. The method of claim 17, wherein the hand andor fingering positioning information comprises an array of hand position information selected from the group consisting of which hand is being described, which finger is placed where on the at least one musical instrument, and to which stroke in the musical composition the information refers.
20. The method of claim 19, wherein at least one musical instrument is selected from the group consisting banjo, guitar, bass, harp, lute, mandolin, viola, violin, violoncello, bassoon, clarinet, flute, oboe, saxophone, trombone, comet, horn, trumpet, tuba, accordion, organ, piano, drum and xylophone.
21. The method of claim 18, wherein the hand andor fingering positioning information minimizes hand movement on the musical instrument when the musical composition is performed or makes performance of the musical composition on the musical instrument easier.
22. The method of claim 18, wherein the user-selected secondary manner is selected from the group consisting of easier fingering, minimized hand movement, ease of performance, tonal quality, natural or artificial harmonics, and techniques that affect how a note is to be played.
23. The method of claim 17, wherein the input means is selected from the group consisting of a data storage device containing digital musical data, a computer network from which digital musical data are obtained, a computer program, stored on a computer readable medium, where digital musical data are entered by a mouse, keyboard, or tablet, a MIDI device providing digital musical data, a digitizing scanner that scans paper containing the musical composition and a means of converting the digitized image into digital musical data, a microphone that captures musical sounds and a converter that converts the sounds into digital musical data.
24. The method of claim 17, wherein the output means is selected from the group consisting of a data storage device, a computer network, a printer, a computer monitor, and a device that uses the hand andor fingering information for a musical performance.